diff --git a/compiler/ir1opt.lisp b/compiler/ir1opt.lisp
index ea0cd752b11ac206dde1bc175fe494e078bc0c2f..e76935150c28019fd5dfa73b65f655015932e49b 100644
--- a/compiler/ir1opt.lisp
+++ b/compiler/ir1opt.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/ir1opt.lisp,v 1.62 1993/08/19 23:12:09 wlott Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/ir1opt.lisp,v 1.63 1993/08/31 22:52:26 ram Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -1388,15 +1388,15 @@
 	  (setf (continuation-reoptimize arg) nil)))
       
       (dolist (ref (leaf-refs fun))
-	(unless (eq ref this-ref)
-	  (setq union
-		(mapcar #'(lambda (this-arg old)
-			    (when old
-			      (setf (continuation-reoptimize this-arg) nil)
-			      (type-union (continuation-type this-arg) old)))
-			(basic-combination-args
-			 (continuation-dest (node-cont ref)))
-			union))))
+	(let ((dest (continuation-dest (node-cont ref))))
+	  (unless (or (eq ref this-ref) (not dest))
+	    (setq union
+		  (mapcar #'(lambda (this-arg old)
+			      (when old
+				(setf (continuation-reoptimize this-arg) nil)
+				(type-union (continuation-type this-arg) old)))
+			  (basic-combination-args dest)
+			  union)))))
       
       (mapc #'(lambda (var type)
 		(when type