Due to incorrect backtracking on the stack, wrong components are put together using TarjanSCCVisitor. The initial bug triggering example was the following graph: nodes: a,b,c,d,e edges: a -> b b -> c b -> e c -> d d -> b I expected the following three sccs: {a}, {b,c,d} {e}, but got {a}, {b, e}, {c, d}.