diff --git a/src/qml/compiler/qv4ssa.cpp b/src/qml/compiler/qv4ssa.cpp
index d67b88b7182f0f40316c6610e535f48de9633cee..31e3ed867e3f4004a6494504ae1d37240831c8e2 100644
--- a/src/qml/compiler/qv4ssa.cpp
+++ b/src/qml/compiler/qv4ssa.cpp
@@ -2991,15 +2991,7 @@ void splitCriticalEdges(IR::Function *f, DominatorTree &df, StatementWorklist &w
             toBB->in[inIdx] = newBB;
             newBB->out.append(toBB);
 
-            BasicBlock *container = 0;
-            for (container = fromBB->containingGroup(); container; container = container->containingGroup()) {
-                if (container == toBB || container == toBB->containingGroup())
-                    break;
-            }
-            if (container == 0)
-                container = fromBB->containingGroup();
-
-            newBB->setContainingGroup(container);
+            newBB->setContainingGroup(toBB->containingGroup());
 
             // patch the terminator
             Stmt *terminator = fromBB->terminator();