diff --git a/p2p/net/swarm/swarm_notif_test.go b/p2p/net/swarm/swarm_notif_test.go
index d8b9bc2d2b78ffafd952aaa15a45917109ca0d86..b44b030d80fc16a579467906451891bcf299f867 100644
--- a/p2p/net/swarm/swarm_notif_test.go
+++ b/p2p/net/swarm/swarm_notif_test.go
@@ -11,8 +11,6 @@ import (
 )
 
 func TestNotifications(t *testing.T) {
-	t.Parallel()
-
 	ctx := context.Background()
 	swarms := makeSwarms(ctx, t, 5)
 	defer func() {
@@ -44,24 +42,30 @@ func TestNotifications(t *testing.T) {
 				continue
 			}
 
-			cos := s.ConnectionsToPeer(s2.LocalPeer())
-			func() {
-				for i := 0; i < len(cos); i++ {
-					var c inet.Conn
-					select {
-					case c = <-n.connected:
-					case <-time.After(timeout):
-						t.Fatal("timeout")
-					}
-					for _, c2 := range cos {
-						if c == c2 {
-							t.Log("got notif for conn", c)
-							return
-						}
+			var actual []inet.Conn
+			for len(s.ConnectionsToPeer(s2.LocalPeer())) != len(actual) {
+				select {
+				case c := <-n.connected:
+					actual = append(actual, c)
+				case <-time.After(timeout):
+					t.Fatal("timeout")
+				}
+			}
+
+			expect := s.ConnectionsToPeer(s2.LocalPeer())
+			for _, c1 := range actual {
+				found := false
+				for _, c2 := range expect {
+					if c1 == c2 {
+						found = true
+						break
 					}
-					t.Error("connection not found", c)
 				}
-			}()
+				if !found {
+					t.Error("connection not found")
+				}
+			}
+
 		}
 	}
 
diff --git a/p2p/net/swarm/swarm_test.go b/p2p/net/swarm/swarm_test.go
index 4c12a1b5d3b4ac42950164babc8ca02ee0e85732..6e53cc339ed696579f02675ea986fc067006864e 100644
--- a/p2p/net/swarm/swarm_test.go
+++ b/p2p/net/swarm/swarm_test.go
@@ -325,6 +325,6 @@ func TestFilterBounds(t *testing.T) {
 	case <-time.After(time.Second):
 		t.Fatal("should have gotten connection")
 	case <-conns:
-		fmt.Println("got connect")
+		t.Log("got connect")
 	}
 }