diff --git a/ghc/runtime/hooks/ErrorHdr.lc b/ghc/runtime/hooks/ErrorHdr.lc
index d71a3a9b2e8122b41522a3bd6ca50f2693e9ef2d..3c04fec8e3ebacdf8d126cfd6b7682327906bcb6 100644
--- a/ghc/runtime/hooks/ErrorHdr.lc
+++ b/ghc/runtime/hooks/ErrorHdr.lc
@@ -4,6 +4,8 @@
 void
 ErrorHdrHook (FILE *where)
 {
+    fflush( stdout );			/* Flush out any pending output */
+
     fprintf(where, "\nFail: ");
 }
 \end{code}
diff --git a/ghc/runtime/hooks/PatErrorHdr.lc b/ghc/runtime/hooks/PatErrorHdr.lc
index 5e175a49a81a62e60750fb8d379bbdc7d803dfeb..2382049f2dedb498729215447f12ad64ee27af91 100644
--- a/ghc/runtime/hooks/PatErrorHdr.lc
+++ b/ghc/runtime/hooks/PatErrorHdr.lc
@@ -4,6 +4,8 @@
 void
 PatErrorHdrHook (FILE *where)
 {
+    fflush( stdout );			/* Flush out any pending output */
+
     fprintf(where, "\nFail: ");
 }
 \end{code}