diff --git a/ghc/driver/ghc.lprl b/ghc/driver/ghc.lprl
index bb80a14c59cc3d993e6004278937f39b9514ddec..0da8e02effe1ca707d44a1b4ddace9e61667629d 100644
--- a/ghc/driver/ghc.lprl
+++ b/ghc/driver/ghc.lprl
@@ -2171,7 +2171,7 @@ sub runAs {
     # need to add the -I flags in case the file is going through cpp (.S files)
     local($includes) = '-I' . join(' -I', @Include_dir);
 
-    if ( ! $SplitObjFiles ) {
+   if ( ! $SplitObjFiles || $ifile_root =~ /_stub\.s$/ ) {
 	local($to_do)  = "$asmblr -o $as_out -c @As_flags $includes $cc_as";
 	push(@Files_to_tidy, $as_out );
 	&run_something($to_do, 'Unix assembler');