diff --git a/typo3/sysext/core/Tests/Unit/TypoScript/TemplateServiceTest.php b/typo3/sysext/core/Tests/Unit/TypoScript/TemplateServiceTest.php
index 4c09f761822d14c6a3ab3f70c5dcef0d227bc4ea..5ed14d28052bca410f8c8adfaad3419dc9fce919 100644
--- a/typo3/sysext/core/Tests/Unit/TypoScript/TemplateServiceTest.php
+++ b/typo3/sysext/core/Tests/Unit/TypoScript/TemplateServiceTest.php
@@ -14,8 +14,8 @@ namespace TYPO3\CMS\Core\Tests\Unit\TypoScript;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Core\Tests\Unit\Utility\AccessibleProxies\ExtensionManagementUtilityAccessibleProxy;
 use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
-use TYPO3\CMS\Core\Utility\GeneralUtility;
 
 /**
  * Testcase for \TYPO3\CMS\Core\TypoScript\TemplateService
@@ -33,9 +33,12 @@ class TemplateServiceTest extends \TYPO3\CMS\Core\Tests\UnitTestCase
     protected $templateServiceMock;
 
     /**
-     * Sets up this test case.
-     *
-     * @return void
+     * @var \TYPO3\CMS\Core\Package\PackageManager
+     */
+    protected $backupPackageManager;
+
+    /**
+     * Set up
      */
     protected function setUp()
     {
@@ -44,6 +47,16 @@ class TemplateServiceTest extends \TYPO3\CMS\Core\Tests\UnitTestCase
         $this->templateService->tt_track = false;
         $this->templateServiceMock = $this->getAccessibleMock(\TYPO3\CMS\Core\TypoScript\TemplateService::class, array('dummy'));
         $this->templateServiceMock->tt_track = false;
+        $this->backupPackageManager = ExtensionManagementUtilityAccessibleProxy::getPackageManager();
+    }
+
+    /**
+     * Tear down
+     */
+    public function tearDown()
+    {
+        ExtensionManagementUtilityAccessibleProxy::setPackageManager($this->backupPackageManager);
+        parent::tearDown();
     }
 
     /**
@@ -108,8 +121,6 @@ class TemplateServiceTest extends \TYPO3\CMS\Core\Tests\UnitTestCase
         $this->assertTrue(
             in_array('test.Core.TypoScript = 1', $this->templateService->config)
         );
-
-        ExtensionManagementUtility::setPackageManager(GeneralUtility::makeInstance(\TYPO3\CMS\Core\Package\PackageManager::class));
     }
 
     /**
diff --git a/typo3/sysext/core/Tests/Unit/Utility/GeneralUtilityTest.php b/typo3/sysext/core/Tests/Unit/Utility/GeneralUtilityTest.php
index faa9aa084ce9d1b64e360d1a8d6f7b2274951466..a5b8322042e296fabc080425dca8d61247724882 100644
--- a/typo3/sysext/core/Tests/Unit/Utility/GeneralUtilityTest.php
+++ b/typo3/sysext/core/Tests/Unit/Utility/GeneralUtilityTest.php
@@ -20,6 +20,7 @@ use org\bovigo\vfs\vfsStreamWrapper;
 use TYPO3\CMS\Core\Package\Package;
 use TYPO3\CMS\Core\Package\PackageManager;
 use TYPO3\CMS\Core\Tests\FileStreamWrapper;
+use TYPO3\CMS\Core\Tests\Unit\Utility\AccessibleProxies\ExtensionManagementUtilityAccessibleProxy;
 use TYPO3\CMS\Core\Tests\Unit\Utility\Fixtures\GeneralUtilityFilesystemFixture;
 use TYPO3\CMS\Core\Tests\Unit\Utility\Fixtures\GeneralUtilityFixture;
 use TYPO3\CMS\Core\Tests\Unit\Utility\Fixtures\GeneralUtilityMinifyJavaScriptFixture;
@@ -41,6 +42,14 @@ class GeneralUtilityTest extends \TYPO3\CMS\Core\Tests\UnitTestCase
      */
     protected $singletonInstances = array();
 
+    /**
+     * @var \TYPO3\CMS\Core\Package\PackageManager
+     */
+    protected $backupPackageManager;
+
+    /**
+     * Set up
+     */
     protected function setUp()
     {
         GeneralUtilityFixture::flushInternalRuntimeCaches();
@@ -48,11 +57,16 @@ class GeneralUtilityTest extends \TYPO3\CMS\Core\Tests\UnitTestCase
         GeneralUtilityFixture::setAllowHostHeaderValue(false);
         $GLOBALS['TYPO3_CONF_VARS']['SYS']['trustedHostsPattern'] = GeneralUtility::ENV_TRUSTED_HOSTS_PATTERN_ALLOW_ALL;
         $this->singletonInstances = GeneralUtility::getSingletonInstances();
+        $this->backupPackageManager = ExtensionManagementUtilityAccessibleProxy::getPackageManager();
     }
 
+    /**
+     * Tear down
+     */
     protected function tearDown()
     {
         GeneralUtility::resetSingletonInstances($this->singletonInstances);
+        ExtensionManagementUtilityAccessibleProxy::setPackageManager($this->backupPackageManager);
         parent::tearDown();
     }
 
@@ -4227,9 +4241,6 @@ class GeneralUtilityTest extends \TYPO3\CMS\Core\Tests\UnitTestCase
 
         $result = GeneralUtility::getFileAbsFileName($path);
         $this->assertEquals($expected, $result);
-
-        // Reset the package manager to use the original one again
-        ExtensionManagementUtility::setPackageManager(GeneralUtility::makeInstance(\TYPO3\CMS\Core\Package\PackageManager::class));
     }
 
     /**
diff --git a/typo3/sysext/install/Tests/Unit/Controller/Action/Ajax/ExtensionCompatibilityTesterTest.php b/typo3/sysext/install/Tests/Unit/Controller/Action/Ajax/ExtensionCompatibilityTesterTest.php
index 013b1618614b61f5466fe2408a2099b7de144eef..60c50ec3723f6c647a10fb35446b3f7aa6af55fe 100644
--- a/typo3/sysext/install/Tests/Unit/Controller/Action/Ajax/ExtensionCompatibilityTesterTest.php
+++ b/typo3/sysext/install/Tests/Unit/Controller/Action/Ajax/ExtensionCompatibilityTesterTest.php
@@ -14,6 +14,7 @@ namespace TYPO3\CMS\Install\Tests\Unit\Controller\Action\Ajax;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Core\Tests\Unit\Utility\AccessibleProxies\ExtensionManagementUtilityAccessibleProxy;
 use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
 
@@ -29,25 +30,18 @@ class ExtensionCompatibilityTesterTest extends \TYPO3\CMS\Core\Tests\UnitTestCas
 
     /**
      * Set up
-     *
-     * @return void
      */
     protected function setUp()
     {
-        // Package manager is mocked in some tests. Backup the original one here to re-inject it to
-        // ExtensionManagementUtility in tearDown() again. makeInstance() is allowed to be used here
-        // since the PackageManager is registered as singleton by bootstrap.
-        $this->backupPackageManager = GeneralUtility::makeInstance(\TYPO3\CMS\Core\Package\PackageManager::class);
+        $this->backupPackageManager = ExtensionManagementUtilityAccessibleProxy::getPackageManager();
     }
 
     /**
      * Tear down
-     *
-     * @return void
      */
     protected function tearDown()
     {
-        ExtensionManagementUtility::setPackageManager($this->backupPackageManager);
+        ExtensionManagementUtilityAccessibleProxy::setPackageManager($this->backupPackageManager);
         if (file_exists(PATH_site . 'typo3temp/assets/ExtensionCompatibilityTester.txt')) {
             unlink(PATH_site . 'typo3temp/assets/ExtensionCompatibilityTester.txt');
         }
diff --git a/typo3/sysext/install/Tests/Unit/Service/SilentConfigurationUpgradeServiceTest.php b/typo3/sysext/install/Tests/Unit/Service/SilentConfigurationUpgradeServiceTest.php
index 359da5de869b5d5d6680150f5a5eadc388ce75a0..5413dbe0f719f26fbe28d721c2baadf0dbb08c83 100644
--- a/typo3/sysext/install/Tests/Unit/Service/SilentConfigurationUpgradeServiceTest.php
+++ b/typo3/sysext/install/Tests/Unit/Service/SilentConfigurationUpgradeServiceTest.php
@@ -16,6 +16,7 @@ namespace TYPO3\CMS\Install\Service;
 
 use TYPO3\CMS\Core\Configuration\ConfigurationManager;
 use TYPO3\CMS\Core\Package\PackageManager;
+use TYPO3\CMS\Core\Tests\Unit\Utility\AccessibleProxies\ExtensionManagementUtilityAccessibleProxy;
 use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
 use TYPO3\CMS\Install\Controller\Exception\RedirectException;
 
@@ -29,6 +30,28 @@ class SilentConfigurationUpgradeServiceTest extends \TYPO3\CMS\Core\Tests\UnitTe
      */
     protected $configurationManager;
 
+    /**
+     * @var \TYPO3\CMS\Core\Package\UnitTestPackageManager A backup of unit test package manager
+     */
+    protected $backupPackageManager;
+
+    /**
+     * Set up
+     */
+    protected function setUp()
+    {
+        $this->backupPackageManager = ExtensionManagementUtilityAccessibleProxy::getPackageManager();
+    }
+
+    /**
+     * Tear down
+     */
+    protected function tearDown()
+    {
+        ExtensionManagementUtilityAccessibleProxy::setPackageManager($this->backupPackageManager);
+        parent::tearDown();
+    }
+
     /**
      * @param array $methods
      */
diff --git a/typo3/sysext/install/Tests/Unit/Updates/ContentTypesToTextMediaUpdateTest.php b/typo3/sysext/install/Tests/Unit/Updates/ContentTypesToTextMediaUpdateTest.php
index b69699031cb0e318495848c1ee83e49f519e9131..02362d7f95a603fefed7ff22f277586cdcc4c0c3 100644
--- a/typo3/sysext/install/Tests/Unit/Updates/ContentTypesToTextMediaUpdateTest.php
+++ b/typo3/sysext/install/Tests/Unit/Updates/ContentTypesToTextMediaUpdateTest.php
@@ -18,6 +18,7 @@ use Prophecy\Prophecy\ObjectProphecy;
 use Prophecy\Prophet;
 use TYPO3\CMS\Core\Package\PackageManager;
 use TYPO3\CMS\Core\Tests\Unit\Resource\BaseTestCase;
+use TYPO3\CMS\Core\Tests\Unit\Utility\AccessibleProxies\ExtensionManagementUtilityAccessibleProxy;
 use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
 use TYPO3\CMS\Install\Updates\ContentTypesToTextMediaUpdate as UpdateWizard;
 
@@ -36,11 +37,19 @@ class ContentTypesToTextMediaUpdateTest extends BaseTestCase
      */
     protected $dbProphecy;
 
+    /**
+     * @var \TYPO3\CMS\Core\Package\PackageManager
+     */
+    protected $backupPackageManager;
+
     /**
      * @var ObjectProphecy
      */
     protected $updateWizard;
 
+    /**
+     * Set up
+     */
     public function setUp()
     {
         unset($GLOBALS['TYPO3_CONF_VARS']['INSTALL']['wizardDone']);
@@ -49,12 +58,17 @@ class ContentTypesToTextMediaUpdateTest extends BaseTestCase
         $this->dbProphecy = $prophet->prophesize(\TYPO3\CMS\Core\Database\DatabaseConnection::class);
         $GLOBALS['TYPO3_DB'] = $this->dbProphecy->reveal();
         $this->updateWizard = new UpdateWizard();
+        $this->backupPackageManager = ExtensionManagementUtilityAccessibleProxy::getPackageManager();
         ExtensionManagementUtility::setPackageManager($this->packageManagerProphecy->reveal());
     }
 
+    /**
+     * Tear down
+     */
     public function tearDown()
     {
-        ExtensionManagementUtility::setPackageManager(new PackageManager());
+        ExtensionManagementUtilityAccessibleProxy::setPackageManager($this->backupPackageManager);
+        parent::tearDown();
     }
 
     /**