Index: /trunk/ccl/lib/macros.lisp
===================================================================
--- /trunk/ccl/lib/macros.lisp	(revision 5396)
+++ /trunk/ccl/lib/macros.lisp	(revision 5397)
@@ -1364,8 +1364,9 @@
 		    `(make-string-input-stream ,string ,(or start 0) ,end)))))
       ,@decls
-      (multiple-value-prog1 (unwind-protect
-                                 (progn ,@forms)
-                              (close ,var))
-        ,@(if index `((setf ,index (string-input-stream-index ,var))))))))
+      (unwind-protect
+           (multiple-value-prog1
+               (progn ,@forms)
+             ,@(if index `((setf ,index (string-input-stream-index ,var)))))
+        (close ,var)))))
 
 (defmacro with-output-to-string ((var &optional string &key (element-type 'base-char element-type-p))
