diff --git a/typo3/sysext/core/Classes/TypoScript/IncludeTree/TsConfigTreeBuilder.php b/typo3/sysext/core/Classes/TypoScript/IncludeTree/TsConfigTreeBuilder.php
index aed83f2b414327ed4b2da3b0ec6f782590d0ad09..ebdd5b87f840e9d7954b9ea3c799902ede8a89c6 100644
--- a/typo3/sysext/core/Classes/TypoScript/IncludeTree/TsConfigTreeBuilder.php
+++ b/typo3/sysext/core/Classes/TypoScript/IncludeTree/TsConfigTreeBuilder.php
@@ -38,9 +38,6 @@ use TYPO3\CMS\Core\Utility\PathUtility;
  */
 final class TsConfigTreeBuilder
 {
-    private TokenizerInterface $tokenizer;
-    private ?PhpFrontend $cache = null;
-
     public function __construct(
         private readonly TreeFromLineStreamBuilder $treeFromTokenStreamBuilder,
         private readonly PackageManager $packageManager,
@@ -53,24 +50,22 @@ final class TsConfigTreeBuilder
         TokenizerInterface $tokenizer,
         ?PhpFrontend $cache = null
     ): RootInclude {
-        $this->tokenizer = $tokenizer;
-        $this->cache = $cache;
         $includeTree = new RootInclude();
         if (!empty($GLOBALS['TYPO3_CONF_VARS']['BE']['defaultUserTSconfig'] ?? '')) {
-            $includeTree->addChild($this->getTreeFromString('userTsConfig-globals', $GLOBALS['TYPO3_CONF_VARS']['BE']['defaultUserTSconfig']));
+            $includeTree->addChild($this->getTreeFromString('userTsConfig-globals', $GLOBALS['TYPO3_CONF_VARS']['BE']['defaultUserTSconfig'], $tokenizer, $cache));
         }
         if ($backendUser->isAdmin()) {
             // @todo: Could we maybe solve this differently somehow? Maybe in ext:adminpanel in FE directly?
-            $includeTree->addChild($this->getTreeFromString('userTsConfig-admpanel', 'admPanel.enable.all = 1'));
+            $includeTree->addChild($this->getTreeFromString('userTsConfig-admpanel', 'admPanel.enable.all = 1', $tokenizer, $cache));
         }
         foreach ($backendUser->userGroupsUID as $groupId) {
             // Loop through all groups and add their 'TSconfig' fields
             if (!empty($backendUser->userGroups[$groupId]['TSconfig'] ?? '')) {
-                $includeTree->addChild($this->getTreeFromString('userTsConfig-group-' . $groupId, $backendUser->userGroups[$groupId]['TSconfig']));
+                $includeTree->addChild($this->getTreeFromString('userTsConfig-group-' . $groupId, $backendUser->userGroups[$groupId]['TSconfig'], $tokenizer, $cache));
             }
         }
         if (!empty($backendUser->user['TSconfig'] ?? '')) {
-            $includeTree->addChild($this->getTreeFromString('userTsConfig-user', $backendUser->user['TSconfig']));
+            $includeTree->addChild($this->getTreeFromString('userTsConfig-user', $backendUser->user['TSconfig'], $tokenizer, $cache));
         }
         return $includeTree;
     }
@@ -80,9 +75,6 @@ final class TsConfigTreeBuilder
         TokenizerInterface $tokenizer,
         ?PhpFrontend $cache = null
     ): RootInclude {
-        $this->tokenizer = $tokenizer;
-        $this->cache = $cache;
-
         $collectedPagesTsConfigArray = [];
         $gotPackagesPagesTsConfigFromCache = false;
         if ($cache) {
@@ -155,7 +147,7 @@ final class TsConfigTreeBuilder
 
         $includeTree = new RootInclude();
         foreach ($collectedPagesTsConfigArray as $key => $typoScriptString) {
-            $includeTree->addChild($this->getTreeFromString((string)$key, $typoScriptString));
+            $includeTree->addChild($this->getTreeFromString((string)$key, $typoScriptString, $tokenizer, $cache));
         }
         return $includeTree;
     }
@@ -163,20 +155,22 @@ final class TsConfigTreeBuilder
     private function getTreeFromString(
         string $name,
         string $typoScriptString,
+        TokenizerInterface $tokenizer,
+        ?PhpFrontend $cache = null
     ): TsConfigInclude {
         $lowercaseName = mb_strtolower($name);
         $identifier = $lowercaseName . '-' . hash('xxh3', $typoScriptString);
-        if ($this->cache) {
-            $includeNode = $this->cache->require($identifier);
+        if ($cache) {
+            $includeNode = $cache->require($identifier);
             if ($includeNode instanceof TsConfigInclude) {
                 return $includeNode;
             }
         }
         $includeNode = new TsConfigInclude();
         $includeNode->setName($name);
-        $includeNode->setLineStream($this->tokenizer->tokenize($typoScriptString));
-        $this->treeFromTokenStreamBuilder->buildTree($includeNode, 'tsconfig', $this->tokenizer);
-        $this->cache?->set($identifier, 'return unserialize(\'' . addcslashes(serialize($includeNode), '\'\\') . '\');');
+        $includeNode->setLineStream($tokenizer->tokenize($typoScriptString));
+        $this->treeFromTokenStreamBuilder->buildTree($includeNode, 'tsconfig', $tokenizer);
+        $cache?->set($identifier, 'return unserialize(\'' . addcslashes(serialize($includeNode), '\'\\') . '\');');
         return $includeNode;
     }
 }