diff --git a/compiler/gtn.lisp b/compiler/gtn.lisp
index 1223e1bd4317ef212eafc31cb1a1c915b7379808..54c891eb40fb3820e55ab2d296368fa8b921327f 100644
--- a/compiler/gtn.lisp
+++ b/compiler/gtn.lisp
@@ -212,7 +212,8 @@
     (dolist (nlx (environment-nlx-info env))
       (setf (nlx-info-info nlx)
 	    (make-ir2-nlx-info
-	     :home (when (eq (cleanup-kind (nlx-info-cleanup nlx)) :entry)
+	     :home (when (member (cleanup-kind (nlx-info-cleanup nlx))
+				 '(:block :tagbody))
 		     (make-normal-tn *any-primitive-type*))
 	     :save-sp (make-nlx-sp-tn env)))))
   (undefined-value))