diff --git a/src/cmd/go/testdata/script/test_chatty_parallel_success_sleepy.txt b/src/cmd/go/testdata/script/test_chatty_parallel_success_sleepy.txt
new file mode 100644
index 0000000..5952a87
--- /dev/null
+++ b/src/cmd/go/testdata/script/test_chatty_parallel_success_sleepy.txt
@@ -0,0 +1,39 @@
+# Run parallel chatty tests. Assert on CONT lines. This test makes sure that
+# multiple parallel outputs have the appropriate CONT lines between them.
+go test -parallel 3 chatty_parallel_test.go -v
+
+stdout '--- PASS: TestFast \([0-9.]{4}s\)\n=== CONT  TestSlow\n    chatty_parallel_test.go:31: this is the second TestSlow log\n--- PASS: TestSlow \([0-9.]{4}s\)'
+
+-- chatty_parallel_test.go --
+package chatty_paralell_test
+
+import (
+	"testing"
+	"time"
+)
+
+var (
+	run           = make(chan struct{})
+	afterFirstLog = make(chan struct{})
+	afterPass     = make(chan struct{})
+)
+
+func TestFast(t *testing.T) {
+	t.Parallel()
+
+	<-afterFirstLog
+	t.Cleanup(func() {
+		close(afterPass)
+	})
+}
+
+func TestSlow(t *testing.T) {
+	t.Parallel()
+
+	t.Logf("this is the first TestSlow log")
+	close(afterFirstLog)
+
+	<-afterPass
+	time.Sleep(100 * time.Millisecond)
+	t.Logf("this is the second TestSlow log")
+}
diff --git a/src/testing/testing.go b/src/testing/testing.go
index 787caf1..75f1b54 100644
--- a/src/testing/testing.go
+++ b/src/testing/testing.go
@@ -348,15 +348,14 @@
 }
 
 func (p *testPrinter) Fprint(w io.Writer, testName, out string) {
-	if !p.chatty || strings.HasPrefix(out, "--- PASS") || strings.HasPrefix(out, "--- FAIL") {
-		fmt.Fprint(w, out)
-		return
-	}
-
 	p.lastNameMu.Lock()
 	defer p.lastNameMu.Unlock()
 
-	if strings.HasPrefix(out, "=== CONT") || strings.HasPrefix(out, "=== RUN") {
+	if !p.chatty ||
+		strings.HasPrefix(out, "--- PASS") ||
+		strings.HasPrefix(out, "--- FAIL") ||
+		strings.HasPrefix(out, "=== CONT") ||
+		strings.HasPrefix(out, "=== RUN") {
 		p.lastName = testName
 		fmt.Fprint(w, out)
 		return
