diff --git a/compiler/rt/macros.lisp b/compiler/rt/macros.lisp
index a6245b75af2779f096475a1a6985342ad9fed5b3..22f8e5b6ea00a99368adc5065d4b5adff8c40c42 100644
--- a/compiler/rt/macros.lisp
+++ b/compiler/rt/macros.lisp
@@ -167,9 +167,9 @@
   (once-only ((n-reg reg)
 	      (n-stack reg-or-stack))
     `(sc-case ,n-reg
-       ((any-reg descriptor-reg)
+       ((any-reg descriptor-reg non-descriptor-reg word-pointer-reg)
 	(sc-case ,n-stack
-	  ((any-reg descriptor-reg)
+	  ((any-reg descriptor-reg non-descriptor-reg word-pointer-reg)
 	   (move ,n-reg ,n-stack))
 	  ((control-stack)
 	   (loadw ,n-reg cfp-tn (tn-offset ,n-stack))))))))