diff --git a/macros.lisp b/macros.lisp
index 309788b3ae9d7709457798964c6f773932034808..bec87a6fdcc47264fc4a7b8aaa089f033012d77d 100644
--- a/macros.lisp
+++ b/macros.lisp
@@ -193,7 +193,9 @@ Signals a PROGRAM-ERROR is the lambda-list is malformed."
                   (destructuring-bind (var &optional init) elt
                     (declare (ignore init))
                     (check-variable var "&aux parameter"))
-                  (check-variable elt "&aux parameter"))
+                  (progn
+                    (check-variable elt "&aux parameter")
+                    (setf elt (list elt nil))))
               (push elt aux))
              (t
               (simple-program-error "Invalid ordinary lambda-list:~%  ~S" lambda-list)))))))