diff --git a/ghc/utils/mkdependHS/mkdependHS.prl b/ghc/utils/mkdependHS/mkdependHS.prl
index 30c6d282be67d1bc3c2dfc26fd7aa033e1177292..7525b315d39d14500f9e04463e2ebb6d2bd49166 100644
--- a/ghc/utils/mkdependHS/mkdependHS.prl
+++ b/ghc/utils/mkdependHS/mkdependHS.prl
@@ -240,11 +240,10 @@ while ($_ && $_ ne $End_magic_str) { # delete 'til End_magic_str
     $_ = <OMKF>;
 }
 # insert dependencies
-print $Begin_magic_str;
-print @Depend_lines;
-print $End_magic_str;
+print $Begin_magic_str, @Depend_lines, $End_magic_str || die "Failed to write out dependencies ($!)";
+
 while (<OMKF>) { # copy the rest through
-    print $_;
+    print $_ || die "Failed to write out dependencies ($!)";
 }
 close(NMKF) || exit(1);
 close(OMKF) || exit(1);