diff --git a/pcl/cmu-low.lisp b/pcl/cmu-low.lisp
index a8f3c9163be494b9cb493cb9474260e62989e175..833a53eda7386f2cc557383dde96f0ef2ab69f9f 100644
--- a/pcl/cmu-low.lisp
+++ b/pcl/cmu-low.lisp
@@ -124,11 +124,11 @@
 		  ,@(when (or (and old-ftype (function-type-keyp old-ftype))
 			      keyp)
 		      '(&key))
-		  ,@(when (or (and old-ftype (function-type-allowp old-ftype))
-			      allowp)
-		      '(&allow-other-keys))
 		  ,@(mapcar #'(lambda (name)
 				`(,name t))
 			    (union old-keys
-				   (mapcar #'keyword-spec-name keys))))
+				   (mapcar #'keyword-spec-name keys)))
+		  ,@(when (or (and old-ftype (function-type-allowp old-ftype))
+			      allowp)
+		      '(&allow-other-keys)))
 		 *))))