diff --git a/compiler/macros.lisp b/compiler/macros.lisp
index f4ba83ad8c0e1e622f80eab5a65265334e2b332c..cd93c812938ef0bbbb453803a24d8d14854ad939 100644
--- a/compiler/macros.lisp
+++ b/compiler/macros.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/macros.lisp,v 1.25 1991/10/03 18:32:32 ram Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/macros.lisp,v 1.26 1991/11/12 14:13:22 ram Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -435,8 +435,9 @@
               this transformation is appropriate.  If the result is false, then
               the transform automatically passes.
     :Eval-Name
-    	    - The name is actually a form to be evaluated.  Useful for getting
-	      closures that transform similar functions.
+    	    - The name and argument/result types are actually forms to be
+              evaluated.  Useful for getting closures that transform similar
+              functions.
     :Defun-Only
             - Don't actually instantiate a transform, instead just DEFUN
               Name with the specified transform definition function.  This may
@@ -474,7 +475,9 @@
 	    `(defun ,name ,@(when doc `(,doc)) ,@stuff)
 	    `(%deftransform
 	      ,(if eval-name name `',name)
-	      '(function ,arg-types ,result-type)
+	      ,(if eval-name
+		   ``(function ,,arg-types ,,result-type)
+		   `'(function ,arg-types ,result-type))
 	      #'(lambda ,@stuff)
 	      ,doc))))))