diff --git a/ghc/driver/ghc.lprl b/ghc/driver/ghc.lprl
index 1db52ea9e812b50a6df848ea6e41eaaaa673e49d..a2ca7b719deb205fdb7c1a6ccea34991ff02aae3 100644
--- a/ghc/driver/ghc.lprl
+++ b/ghc/driver/ghc.lprl
@@ -1471,8 +1471,10 @@ Now the Haskell compiler, C compiler, and assembler
 	local ($hsc_out_o_stub);
 	($ofile_s_stub_target = $ofile_c_stub_target) =~ s/\.(.*)$/\.s/;
 	($ofile_o_stub_target = $ofile_c_stub_target) =~ s/\.(.*)$/\.o/;
-	&runGcc    (0, $ofile_c_stub_target, $ofile_s_stub_target);
-        &runAs     ($ofile_o_stub_target, $ofile_s_stub_target);
+	if ($do_cc) {
+	  &runGcc    (0, $ofile_c_stub_target, $ofile_s_stub_target);
+          &runAs     ($ofile_o_stub_target, $ofile_s_stub_target);
+	}
 	#
 	# Bring the C stub protos into scope when compiling the .hc file.
 	#