diff --git a/mythril/laser/ethereum/taint_analysis.py b/mythril/laser/ethereum/taint_analysis.py
index <HASH>..<HASH> 100644
--- a/mythril/laser/ethereum/taint_analysis.py
+++ b/mythril/laser/ethereum/taint_analysis.py
@@ -118,7 +118,7 @@ class TaintRunner:
         direct_children = [statespace.nodes[edge.node_to] for edge in statespace.edges if edge.node_from == node.uid]
         children = []
         for child in direct_children:
-            if child.states[0].environment.active_account.address == environment.active_account.address:
+            if len(child.states[0].transaction_stack) == len(node.states[0].transaction_stack):
                 children.append(child)
             else:
                 children += TaintRunner.children(child, statespace, environment)
Perform check based on transaction_stack