diff --git a/compiler/vmdef.lisp b/compiler/vmdef.lisp
index e81e6cd8ddb54856b43ac1d26029a7859a3e0171..9f3849684404d031027d826138ab9148dc324c92 100644
--- a/compiler/vmdef.lisp
+++ b/compiler/vmdef.lisp
@@ -440,17 +440,17 @@
 ;;;
 (macrolet
     ((frob (name sc-numbers-fun compile-time-also)
-       (eval-when (load eval ,@(when compile-time-also '(compile)))
-	 (defun ,name (sc ptype)
-	   (declare (type sc sc) (type primitive-type ptype))
-	   (let ((scn (sc-number sc)))
-	     (dolist (allowed (primitive-type-scs ptype) nil)
-	       (when (eql allowed scn)
-		 (return t))
-	       (let ((allowed-sc (svref (,sc-numbers-fun *backend*) allowed)))
-		 (when (or (member sc (sc-alternate-scs allowed-sc))
-			   (member sc (sc-constant-scs allowed-sc)))
-		   (return t)))))))))
+       `(eval-when (load eval ,@(when compile-time-also '(compile)))
+	  (defun ,name (sc ptype)
+	    (declare (type sc sc) (type primitive-type ptype))
+	    (let ((scn (sc-number sc)))
+	      (dolist (allowed (primitive-type-scs ptype) nil)
+		(when (eql allowed scn)
+		  (return t))
+		(let ((allowed-sc (svref (,sc-numbers-fun *backend*) allowed)))
+		  (when (or (member sc (sc-alternate-scs allowed-sc))
+			    (member sc (sc-constant-scs allowed-sc)))
+		    (return t)))))))))
   (frob sc-allowed-by-primitive-type backend-sc-numbers nil)
   (frob meta-sc-allowed-by-primitive-type backend-meta-sc-numbers t))