diff --git a/code/format.lisp b/code/format.lisp
index b8a9e76fbcd6bb457ac04ab956e7c8c58dd9bbab..704ec347aafcf4ab0ce512c537520478df5b6504 100644
--- a/code/format.lisp
+++ b/code/format.lisp
@@ -1999,9 +1999,10 @@
   (if params
       (expand-bind-defaults ((count 1)) params
 	`(progn
-	   (fresh-line stream)
-	   (dotimes (i (1- ,count))
-	     (terpri stream))))
+	   (when (plusp ,count)
+	     (fresh-line stream)
+	     (dotimes (i (1- ,count))
+	       (terpri stream)))))
       '(fresh-line stream)))
 
 (def-format-interpreter #\& (colonp atsignp params)
@@ -2010,9 +2011,10 @@
 	   :complaint
 	   (intl:gettext "Cannot specify either colon or atsign for this directive.")))
   (interpret-bind-defaults ((count 1)) params
-    (fresh-line stream)
-    (dotimes (i (1- count))
-      (terpri stream))))
+    (when (plusp count)
+      (fresh-line stream)
+      (dotimes (i (1- count))
+	(terpri stream)))))
 
 (def-format-directive #\| (colonp atsignp params)
   (when (or colonp atsignp)