diff --git a/compiler/srctran.lisp b/compiler/srctran.lisp
index 9fd471b9d187339479353fffd0788465701726cb..320572295dc2a9573bed077c2a7ac5e7674056dc 100644
--- a/compiler/srctran.lisp
+++ b/compiler/srctran.lisp
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/srctran.lisp,v 1.133 2003/09/12 12:55:18 gerd Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/srctran.lisp,v 1.134 2003/09/24 21:29:07 toy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -1129,9 +1129,7 @@
 		  (if member-fcn
 		      (with-float-traps-masked
 			  (:underflow :overflow :divide-by-zero)
-			(make-member-type
-			 :members (list
-				   (funcall member-fcn
+			(specifier-type `(eql ,(funcall member-fcn
 					    (first (member-type-members x))))))
 		      ;; Otherwise convert to a numeric type.
 		      (let ((result-type-list
@@ -1200,7 +1198,7 @@
 						:format (type-of result)
 						:complexp :real))
 			    (t
-			     (make-member-type :members (list result))))))
+			     (specifier-type `(eql ,result))))))
 		   #-conservative-float-type
 		   ((and (member-type-p x) (member-type-p y))
 		    (let* ((x (convert-member-type x))