diff --git a/compiler/alpha/float.lisp b/compiler/alpha/float.lisp
index 5bb1911e2470db9f1c7e9f6f83bd35d97133747a..e0e715538fda03564efc7399d6909e53e4488ede 100644
--- a/compiler/alpha/float.lisp
+++ b/compiler/alpha/float.lisp
@@ -6,7 +6,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/alpha/float.lisp,v 1.6 1998/01/26 15:54:30 pw Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/alpha/float.lisp,v 1.7 1998/01/26 18:15:33 pw Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -289,12 +289,16 @@
 		  (:results (y :scs (,sc)))
 		  (:note "pointer to complex float coercion")
 		  (:generator 2
-		    (let ((real-tn (complex-double-reg-real-tn y)))
+		    (let ((real-tn ,(if double-p
+					'(complex-double-reg-real-tn y)
+					'(complex-single-reg-real-tn y))))
 		      (inst ,(if double-p 'ldt 'lds) real-tn
 			    (- (* ,real-value vm:word-bytes)
 			       vm:other-pointer-type)
 			    x))
-		    (let ((imag-tn (complex-double-reg-imag-tn y)))
+		    (let ((imag-tn ,(if double-p
+					'(complex-double-reg-imag-tn y)
+					'(complex-single-reg-imag-tn y))))
 		      (inst ,(if double-p 'ldt 'lds) imag-tn
 			    (- (* ,imag-value vm:word-bytes)
 			       vm:other-pointer-type)