diff --git a/composer.json b/composer.json
index 1d35e0910027c56d61e1ef88db4e5e6e0d37e310..1e772ed361190693a6ed88d281ab451ac10cebb3 100644
--- a/composer.json
+++ b/composer.json
@@ -118,7 +118,7 @@
 		"sokil/php-isocodes-db-i18n": "^4.0.13",
 		"symfony/translation": "^6.2",
 		"typo3/cms-styleguide": "^12.0.2",
-		"typo3/testing-framework": "^8.0.2",
+		"typo3/testing-framework": "^8.0.3",
 		"webmozart/assert": "^1.11.0"
 	},
 	"suggest": {
diff --git a/composer.lock b/composer.lock
index 6509d1dc34b064be3efb1bce190b7fc26aba288d..7f235b310498ee4cf5d2bce9e77eac23c4727402 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "8080136c7d55f58568c412c63b32ba78",
+    "content-hash": "ac3ccb1566155180ebadeb00f1d5ae34",
     "packages": [
         {
             "name": "bacon/bacon-qr-code",
@@ -8825,16 +8825,16 @@
         },
         {
             "name": "typo3/testing-framework",
-            "version": "8.0.2",
+            "version": "8.0.3",
             "source": {
                 "type": "git",
                 "url": "https://github.com/TYPO3/testing-framework.git",
-                "reference": "0f64df79ad145ee193f692a2e84e7d6c993d7b5f"
+                "reference": "82d8a12ccf186b919c080a10276ed30590cfb7f3"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/TYPO3/testing-framework/zipball/0f64df79ad145ee193f692a2e84e7d6c993d7b5f",
-                "reference": "0f64df79ad145ee193f692a2e84e7d6c993d7b5f",
+                "url": "https://api.github.com/repos/TYPO3/testing-framework/zipball/82d8a12ccf186b919c080a10276ed30590cfb7f3",
+                "reference": "82d8a12ccf186b919c080a10276ed30590cfb7f3",
                 "shasum": ""
             },
             "require": {
@@ -8893,9 +8893,9 @@
             "support": {
                 "general": "https://typo3.org/support/",
                 "issues": "https://github.com/TYPO3/testing-framework/issues",
-                "source": "https://github.com/TYPO3/testing-framework/tree/8.0.2"
+                "source": "https://github.com/TYPO3/testing-framework/tree/8.0.3"
             },
-            "time": "2023-08-02T16:10:26+00:00"
+            "time": "2023-08-28T17:20:23+00:00"
         }
     ],
     "aliases": [],
diff --git a/typo3/sysext/extbase/Classes/Utility/LocalizationUtility.php b/typo3/sysext/extbase/Classes/Utility/LocalizationUtility.php
index 5ac791568d99b639c1f62914c0c6e7060a4f7434..438f71cdb587635f9036227ee11c351e8d2a24bd 100644
--- a/typo3/sysext/extbase/Classes/Utility/LocalizationUtility.php
+++ b/typo3/sysext/extbase/Classes/Utility/LocalizationUtility.php
@@ -36,11 +36,6 @@ class LocalizationUtility
 {
     protected static string $locallangPath = 'Resources/Private/Language/';
 
-    /**
-     * @var \TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface
-     */
-    protected static $configurationManager;
-
     /**
      * Returns the localized label of the LOCAL_LANG key, $key.
      *
@@ -177,7 +172,7 @@ class LocalizationUtility
      */
     protected static function loadTypoScriptLabels(string $extensionName): array
     {
-        $configurationManager = static::getConfigurationManager();
+        $configurationManager = GeneralUtility::makeInstance(ConfigurationManagerInterface::class);
         $frameworkConfiguration = $configurationManager->getConfiguration(ConfigurationManagerInterface::CONFIGURATION_TYPE_FRAMEWORK, $extensionName);
         if (!is_array($frameworkConfiguration['_LOCAL_LANG'] ?? false)) {
             return [];
@@ -233,18 +228,6 @@ class LocalizationUtility
         return $result;
     }
 
-    /**
-     * Returns instance of the configuration manager
-     */
-    protected static function getConfigurationManager(): ConfigurationManagerInterface
-    {
-        if (static::$configurationManager !== null) {
-            return static::$configurationManager;
-        }
-        static::$configurationManager = GeneralUtility::makeInstance(ConfigurationManagerInterface::class);
-        return static::$configurationManager;
-    }
-
     /**
      * Returns the currently configured "site language" if a site is configured (= resolved)
      * in the current request.
diff --git a/typo3/sysext/extbase/Tests/Functional/Utility/LocalizationUtilityTest.php b/typo3/sysext/extbase/Tests/Functional/Utility/LocalizationUtilityTest.php
index 493c078d21d1405a6adf94512ca350732091576d..70cebf0ce641eb7a4f01bbdef154e4e20c290317 100644
--- a/typo3/sysext/extbase/Tests/Functional/Utility/LocalizationUtilityTest.php
+++ b/typo3/sysext/extbase/Tests/Functional/Utility/LocalizationUtilityTest.php
@@ -17,38 +17,16 @@ declare(strict_types=1);
 
 namespace TYPO3\CMS\Extbase\Tests\Functional\Utility;
 
-use PHPUnit\Framework\MockObject\MockObject;
 use TYPO3\CMS\Core\Authentication\BackendUserAuthentication;
+use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface;
 use TYPO3\CMS\Extbase\Utility\LocalizationUtility;
 use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
 
 final class LocalizationUtilityTest extends FunctionalTestCase
 {
-    protected ConfigurationManagerInterface&MockObject $configurationManagerInterfaceMock;
-
     protected array $testExtensionsToLoad = ['typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/label_test'];
 
-    protected function setUp(): void
-    {
-        parent::setUp();
-        $reflectionClass = new \ReflectionClass(LocalizationUtility::class);
-        $this->configurationManagerInterfaceMock = $this->createMock(ConfigurationManagerInterface::class);
-        $property = $reflectionClass->getProperty('configurationManager');
-        $property->setValue(null, $this->configurationManagerInterfaceMock);
-    }
-
-    /**
-     * Reset static properties
-     */
-    protected function tearDown(): void
-    {
-        $reflectionClass = new \ReflectionClass(LocalizationUtility::class);
-        $property = $reflectionClass->getProperty('configurationManager');
-        $property->setValue(null, null);
-        parent::tearDown();
-    }
-
     /**
      * @test
      */
@@ -122,18 +100,15 @@ final class LocalizationUtilityTest extends FunctionalTestCase
      * @dataProvider translateDataProvider
      * @test
      */
-    public function translateTestWithBackendUserLanguage(
-        string $key,
-        string $languageKey,
-        string $expected,
-        array $altLanguageKeys = [],
-        array $arguments = null
-    ): void {
+    public function translateTestWithBackendUserLanguage(string $key, string $languageKey, string $expected, array $altLanguageKeys = [], array $arguments = null): void
+    {
         // No TypoScript overrides
-        $this->configurationManagerInterfaceMock
+        $configurationManagerInterfaceMock = $this->createMock(ConfigurationManagerInterface::class);
+        $configurationManagerInterfaceMock
             ->method('getConfiguration')
             ->with('Framework', 'label_test', null)
             ->willReturn([]);
+        GeneralUtility::setSingletonInstance(ConfigurationManagerInterface::class, $configurationManagerInterfaceMock);
 
         $GLOBALS['BE_USER'] = new BackendUserAuthentication();
         $GLOBALS['BE_USER']->user = ['lang' => $languageKey];
@@ -152,10 +127,12 @@ final class LocalizationUtilityTest extends FunctionalTestCase
         array $arguments = null
     ): void {
         // No TypoScript overrides
-        $this->configurationManagerInterfaceMock
+        $configurationManagerInterfaceMock = $this->createMock(ConfigurationManagerInterface::class);
+        $configurationManagerInterfaceMock
             ->method('getConfiguration')
             ->with('Framework', 'label_test', null)
             ->willReturn([]);
+        GeneralUtility::setSingletonInstance(ConfigurationManagerInterface::class, $configurationManagerInterfaceMock);
 
         self::assertSame($expected, LocalizationUtility::translate($key, 'label_test', $arguments, $languageKey, $altLanguageKeys));
     }
@@ -168,7 +145,8 @@ final class LocalizationUtilityTest extends FunctionalTestCase
     public function loadTypoScriptLabels(): void
     {
         $configurationType = ConfigurationManagerInterface::CONFIGURATION_TYPE_FRAMEWORK;
-        $this->configurationManagerInterfaceMock
+        $configurationManagerInterfaceMock = $this->createMock(ConfigurationManagerInterface::class);
+        $configurationManagerInterfaceMock
             ->expects(self::atLeastOnce())
             ->method('getConfiguration')
             ->with($configurationType, 'label_test', null)
@@ -188,6 +166,7 @@ final class LocalizationUtilityTest extends FunctionalTestCase
                     ],
                 ],
             ]);
+        GeneralUtility::setSingletonInstance(ConfigurationManagerInterface::class, $configurationManagerInterfaceMock);
 
         self::assertSame('key1 value from TS core', LocalizationUtility::translate('key1', 'label_test', languageKey: 'da'));
         // Label from XLF file, no override
@@ -203,7 +182,8 @@ final class LocalizationUtilityTest extends FunctionalTestCase
     public function clearLabelWithTypoScript(): void
     {
         $configurationType = ConfigurationManagerInterface::CONFIGURATION_TYPE_FRAMEWORK;
-        $this->configurationManagerInterfaceMock
+        $configurationManagerInterfaceMock = $this->createMock(ConfigurationManagerInterface::class);
+        $configurationManagerInterfaceMock
             ->expects(self::atLeastOnce())
             ->method('getConfiguration')
             ->with($configurationType, 'label_test', null)
@@ -214,6 +194,7 @@ final class LocalizationUtilityTest extends FunctionalTestCase
                     ],
                 ],
             ]);
+        GeneralUtility::setSingletonInstance(ConfigurationManagerInterface::class, $configurationManagerInterfaceMock);
 
         $result = LocalizationUtility::translate('key1', 'label_test', languageKey: 'da');
 
@@ -244,11 +225,13 @@ final class LocalizationUtilityTest extends FunctionalTestCase
         ];
 
         $configurationType = ConfigurationManagerInterface::CONFIGURATION_TYPE_FRAMEWORK;
-        $this->configurationManagerInterfaceMock
+        $configurationManagerInterfaceMock = $this->createMock(ConfigurationManagerInterface::class);
+        $configurationManagerInterfaceMock
             ->expects(self::atLeastOnce())
             ->method('getConfiguration')
             ->with($configurationType, 'core', null)
             ->willReturn($typoScriptLocalLang);
+        GeneralUtility::setSingletonInstance(ConfigurationManagerInterface::class, $configurationManagerInterfaceMock);
 
         $result = LocalizationUtility::translate('key1', 'core', languageKey: 'da');
 
diff --git a/typo3/sysext/extbase/Tests/FunctionalDeprecated/Utility/LocalizationUtilityTest.php b/typo3/sysext/extbase/Tests/FunctionalDeprecated/Utility/LocalizationUtilityTest.php
index dfde867cdd8287db3b6d82512fc9ab69dedb54ae..a4765ffd5791a47f6f5c1952230f6ad256494f11 100644
--- a/typo3/sysext/extbase/Tests/FunctionalDeprecated/Utility/LocalizationUtilityTest.php
+++ b/typo3/sysext/extbase/Tests/FunctionalDeprecated/Utility/LocalizationUtilityTest.php
@@ -19,6 +19,7 @@ namespace TYPO3\CMS\Extbase\Tests\FunctionalDeprecated\Utility;
 
 use PHPUnit\Framework\MockObject\MockObject;
 use TYPO3\CMS\Core\Authentication\BackendUserAuthentication;
+use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface;
 use TYPO3\CMS\Extbase\Utility\LocalizationUtility;
 use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
@@ -29,26 +30,6 @@ final class LocalizationUtilityTest extends FunctionalTestCase
 
     protected array $testExtensionsToLoad = ['typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/label_test'];
 
-    protected function setUp(): void
-    {
-        parent::setUp();
-        $reflectionClass = new \ReflectionClass(LocalizationUtility::class);
-        $this->configurationManagerInterfaceMock = $this->createMock(ConfigurationManagerInterface::class);
-        $property = $reflectionClass->getProperty('configurationManager');
-        $property->setValue($this->configurationManagerInterfaceMock);
-    }
-
-    /**
-     * Reset static properties
-     */
-    protected function tearDown(): void
-    {
-        $reflectionClass = new \ReflectionClass(LocalizationUtility::class);
-        $property = $reflectionClass->getProperty('configurationManager');
-        $property->setValue(null);
-        parent::tearDown();
-    }
-
     public static function translateDataProvider(): array
     {
         return [
@@ -75,10 +56,12 @@ final class LocalizationUtilityTest extends FunctionalTestCase
         array $arguments = null
     ): void {
         // No TypoScript overrides
-        $this->configurationManagerInterfaceMock
+        $configurationManagerInterfaceMock = $this->createMock(ConfigurationManagerInterface::class);
+        $configurationManagerInterfaceMock
             ->method('getConfiguration')
             ->with('Framework', 'label_test', null)
             ->willReturn([]);
+        GeneralUtility::setSingletonInstance(ConfigurationManagerInterface::class, $configurationManagerInterfaceMock);
 
         $GLOBALS['BE_USER'] = new BackendUserAuthentication();
         $GLOBALS['BE_USER']->user = ['lang' => $languageKey];
@@ -97,10 +80,12 @@ final class LocalizationUtilityTest extends FunctionalTestCase
         array $arguments = null
     ): void {
         // No TypoScript overrides
-        $this->configurationManagerInterfaceMock
+        $configurationManagerInterfaceMock = $this->createMock(ConfigurationManagerInterface::class);
+        $configurationManagerInterfaceMock
             ->method('getConfiguration')
             ->with('Framework', 'label_test', null)
             ->willReturn([]);
+        GeneralUtility::setSingletonInstance(ConfigurationManagerInterface::class, $configurationManagerInterfaceMock);
 
         self::assertSame($expected, LocalizationUtility::translate($key, 'label_test', $arguments, $languageKey, $altLanguageKeys));
     }