Index: csc.scm
===================================================================
--- csc.scm	(revision 15417)
+++ csc.scm	(working copy)
@@ -919,13 +919,12 @@
   (let ((str (if windows-shell
 		 (string-append "\"" str "\"")
 		 str)))
-    (set! last-exit-code
-      (if dry-run 
-	  0
-	  (system str)))
-    (unless (zero? last-exit-code)
-      (printf "\nError: shell command terminated with non-zero exit status ~S: ~A~%" last-exit-code str) )
-    last-exit-code))
+    (let ((raw-exit-code (if dry-run 0 (system str))))
+      (unless (zero? raw-exit-code)
+	(printf "\nError: shell command terminated with non-zero exit status ~S: ~A~%" raw-exit-code str))
+      (set! last-exit-code
+	(if (zero? raw-exit-code) 0 1))
+      last-exit-code)))
 
 (define ($delete-file str)
   (when verbose 
