diff --git a/src/compiler/generic/new-genesis.lisp b/src/compiler/generic/new-genesis.lisp
index b6781cc6a208264b15b9140119d66512e1d43304..d356c36663155987e6c2e622636c3441fb9b6ee7 100644
--- a/src/compiler/generic/new-genesis.lisp
+++ b/src/compiler/generic/new-genesis.lisp
@@ -2606,14 +2606,16 @@
 		   vm:other-pointer-type
 		   (if symbol (vm:static-symbol-offset symbol) 0)))))
   ;;
-  ;; Write out features.
+  ;; Write out the runtime features, but only if they are also target
+  ;; features.
   (format t "~%/* Runtime features when built. */~2%")
   (dolist (feature sys:*runtime-features*)
-    (format t "#define FEATURE_~a 1~%"
-	    (nsubstitute #\_ #\-
-			 (remove-if #'(lambda (char)
-					(member char '(#\% #\* #\.)))
-				    (symbol-name feature)))))
+    (when (c::target-featurep feature)
+      (format t "#define FEATURE_~a 1~%"
+	      (nsubstitute #\_ #\-
+			   (remove-if #'(lambda (char)
+					  (member char '(#\% #\* #\.)))
+				      (symbol-name feature))))))
   ;;
   (format t "~%#endif~%"))