diff --git a/src/ComposerRequireChecker/NodeVisitor/UsedSymbolCollector.php b/src/ComposerRequireChecker/NodeVisitor/UsedSymbolCollector.php
index <HASH>..<HASH> 100644
--- a/src/ComposerRequireChecker/NodeVisitor/UsedSymbolCollector.php
+++ b/src/ComposerRequireChecker/NodeVisitor/UsedSymbolCollector.php
@@ -14,7 +14,6 @@ final class UsedSymbolCollector extends NodeVisitorAbstract
 
     public function __construct()
     {
-        $this->collectedSymbols = [];
     }
 
     /**
@@ -28,6 +27,16 @@ final class UsedSymbolCollector extends NodeVisitorAbstract
     /**
      * {@inheritDoc}
      */
+    public function beforeTraverse(array $nodes)
+    {
+        $this->collectedSymbols = [];
+
+        return parent::beforeTraverse($nodes);
+    }
+
+    /**
+     * {@inheritDoc}
+     */
     public function enterNode(Node $node)
     {
         $this->recordExtendsUsage($node);
@@ -37,6 +46,8 @@ final class UsedSymbolCollector extends NodeVisitorAbstract
         $this->recordFunctionCallUsage($node);
         $this->recordConstantFetchUsage($node);
         $this->recordTraitUsage($node);
+
+        return parent::enterNode($node);
     }
 
     private function recordExtendsUsage(Node $node)
Collected symbols should be reset after each run