diff --git a/test/test_misc.py b/test/test_misc.py
index 384c1326b75850f8c43c50914934f7dc5b097404..94d83cd29c6a89a7d01cc23cca2a2d9f1985eba9 100644
--- a/test/test_misc.py
+++ b/test/test_misc.py
@@ -60,8 +60,14 @@ def test_compute_sccs():
                 return result + [node]
 
         for scc in sccs:
-            result = visit(scc[0])
-            assert set(result) == set(scc), (set(result), set(scc))
+            scc = set(scc)
+            assert not scc & visited
+            # Check that starting from each element of the SCC results
+            # in the same set of reachable nodes.
+            for scc_root in scc:
+                visited.difference_update(scc)
+                result = visit(scc_root)
+                assert set(result) == scc, (set(result), scc)
 
     for nnodes in range(10, 20):
         for i in range(40):