diff --git a/pcl/walk.lisp b/pcl/walk.lisp
index 237612395c346941a29bdca898ba80ef2ed8a043..c400fcb1983956bff2af91197d71cd0c724bd855 100644
--- a/pcl/walk.lisp
+++ b/pcl/walk.lisp
@@ -1352,6 +1352,9 @@
 			  newnewnewform)))
 		   ((and (symbolp fn)
 			 (not (fboundp fn))
+			 #+cmu17
+			 (special-operator-p fn)
+			 #-cmu17
 			 (special-form-p fn))
 		    (error
 		     "~S is a special form, not defined in the CommonLisp.~%~