Index: /trunk/source/lib/macros.lisp
===================================================================
--- /trunk/source/lib/macros.lisp	(revision 12996)
+++ /trunk/source/lib/macros.lisp	(revision 12997)
@@ -197,8 +197,8 @@
               (if ,lstsym (go ,toplab))))
          ,@(if ret `((let ((,varsym nil))
-                       ,@(hoist-special-decls varsym decls)
-                       (declare (ignore-if-unused ,varsym))
+                       (declare (ignore-if-unused ,varsym)
+                                ,@(loop for decl in decls
+                                        append (remove 'special (cdr decl) :test #'neq :key #'car)))
                        ,ret)))))))
-
 
 (defmacro dovector ((varsym vector &optional ret) &body body &environment env)
