diff --git a/srfi/srfi-64.upstream.scm b/srfi/srfi-64.upstream.scm
index 1ea3bd9a9e1bf945c744e677144001af7b09268d..45a7af3785202f6acb31a7cb873b4a14e09486d9 100644
--- a/srfi/srfi-64.upstream.scm
+++ b/srfi/srfi-64.upstream.scm
@@ -314,7 +314,9 @@ (define (test-on-group-begin-simple runner suite-name count)
                                  (guile-2
                                   (with-fluids ((%default-port-encoding
                                                  "UTF-8"))
-                                    (open-output-file log-file-name)))
+                                    (let ((p (open-output-file log-file-name)))
+                                      (setvbuf p _IOLBF)
+                                      p)))
 				 (else (open-output-file log-file-name)))))
 	      (display "%%%% Starting test " log-file)
 	      (display suite-name log-file)