diff --git a/code/macros.lisp b/code/macros.lisp
index 0c6c16157d713bd12f30381c42fce557e4ba9ef4..46173bc043405b4b11c004f55f2c1a9d01f80b5d 100644
--- a/code/macros.lisp
+++ b/code/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/code/macros.lisp,v 1.29 1992/03/31 04:52:29 wlott Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/macros.lisp,v 1.30 1992/03/31 05:26:39 wlott Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -443,22 +443,22 @@
   consing when N is a trivial constant integer."
   (if (integerp n)
       (let ((dummy-list nil)
-            (wendy (gensym)))
+            (keeper (gensym "KEEPER-")))
         ;; We build DUMMY-LIST, a list of variables to bind to useless
         ;; values, then we explicitly IGNORE those bindings and return
-        ;; WENDY, the only thing we're really interested in right now.
+        ;; KEEPER, the only thing we're really interested in right now.
         (dotimes (i n)
-          (push (gensym) dummy-list))
-        `(multiple-value-bind (,@dummy-list ,wendy)
+          (push (gensym "IGNORE-") dummy-list))
+        `(multiple-value-bind (,@dummy-list ,keeper)
                               ,form
            (declare (ignore ,@dummy-list))
-           ,wendy))
-      `(once-only (,n)
-         (case (the fixnum ,n)
-           (0 (nth-value 0 ,form))
-           (1 (nth-value 1 ,form))
-           (2 (nth-value 2 ,form))
-           (T (nth (the fixnum ,n) (multiple-value-list ,form)))))))
+           ,keeper))
+      (once-only ((n n))
+	`(case (the fixnum ,n)
+	   (0 (nth-value 0 ,form))
+	   (1 (nth-value 1 ,form))
+	   (2 (nth-value 2 ,form))
+	   (T (nth (the fixnum ,n) (multiple-value-list ,form)))))))
 
 
 ;;;; SETF and friends.