diff --git a/typo3/sysext/extensionmanager/Classes/Utility/InstallUtility.php b/typo3/sysext/extensionmanager/Classes/Utility/InstallUtility.php
index ba911a7561769c31c331a15d6b89dc28d67f9fc7..6dce0f49c498350b9a6e8c8e01287046ee0f1b0c 100644
--- a/typo3/sysext/extensionmanager/Classes/Utility/InstallUtility.php
+++ b/typo3/sysext/extensionmanager/Classes/Utility/InstallUtility.php
@@ -100,16 +100,6 @@ class InstallUtility implements \TYPO3\CMS\Core\SingletonInterface {
 	 */
 	protected $registry;
 
-	/**
-	 * __construct
-	 */
-	public function __construct() {
-		$this->objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager');
-		/** @var $installToolSqlParser \TYPO3\CMS\Install\Service\SqlSchemaMigrationService */
-		$this->installToolSqlParser = $this->objectManager->get('TYPO3\\CMS\\Install\\Service\\SqlSchemaMigrationService');
-		$this->dependencyUtility = $this->objectManager->get('TYPO3\\CMS\\Extensionmanager\\Utility\\DependencyUtility');
-	}
-
 	/**
 	 * Helper function to install an extension
 	 * also processes db updates and clears the cache if the extension asks for it
diff --git a/typo3/sysext/extensionmanager/Tests/Unit/Service/ExtensionManagementServiceTest.php b/typo3/sysext/extensionmanager/Tests/Unit/Service/ExtensionManagementServiceTest.php
index 37967dbb6b4e6eefd86f920b8d2559c96f6ac902..881f941ecbad1ebf59c0ed34ccaa0ac61073689a 100644
--- a/typo3/sysext/extensionmanager/Tests/Unit/Service/ExtensionManagementServiceTest.php
+++ b/typo3/sysext/extensionmanager/Tests/Unit/Service/ExtensionManagementServiceTest.php
@@ -93,9 +93,21 @@ class ExtensionManagementServiceTest extends \TYPO3\CMS\Core\Tests\UnitTestCase
 		$managementMock = $this->getAccessibleMock('TYPO3\\CMS\\Extensionmanager\\Service\\ExtensionManagementService', array(
 			'dummy'
 		));
+
 		$extensionModelMock = $this->getAccessibleMock('TYPO3\\CMS\\Extensionmanager\\Domain\\Model\\Extension', array('getExtensionKey'));
 		$extensionModelMock->_set('extensionKey', 'foobar');
 		$extensionModelMock->_set('version', '1.0.0');
+
+		$dependencyUtilityMock = $this->getAccessibleMock('TYPO3\\CMS\\Extensionmanager\\Utility\\DependencyUtility');
+		$dependencyUtilityMock->expects($this->atLeastOnce())->method('buildExtensionDependenciesTree');
+		$installUtilityMock = $this->getMock('TYPO3\\CMS\\Extensionmanager\\Utility\\InstallUtility');
+		$installUtilityMock->expects($this->any())->method('enrichExtensionWithDetails')->will($this->returnValue(array()));
+		$extensionModelUtilityMock = $this->getMock('TYPO3\\CMS\\Extensionmanager\\Utility\\ExtensionModelUtility');
+		$extensionModelUtilityMock->expects($this->any())->method('mapExtensionArrayToModel')->will($this->returnValue($extensionModelMock));
+		$managementMock->_set('dependencyUtility', $dependencyUtilityMock);
+		$managementMock->_set('installUtility', $installUtilityMock);
+		$managementMock->_set('extensionModelUtility', $extensionModelUtilityMock);
+
 		$downloadQueue = array(
 			$extensionModelMock
 		);
@@ -115,12 +127,24 @@ class ExtensionManagementServiceTest extends \TYPO3\CMS\Core\Tests\UnitTestCase
 		$managementMock = $this->getAccessibleMock('TYPO3\\CMS\\Extensionmanager\\Service\\ExtensionManagementService', array(
 			'dummy'
 		));
+
 		$extensionModelMock = $this->getAccessibleMock('TYPO3\\CMS\\Extensionmanager\\Domain\\Model\\Extension', array('getExtensionKey'));
 		$extensionModelMock->_set('extensionKey', 'foobar');
 		$extensionModelMock->_set('version', '1.0.0');
 		$downloadQueue = array(
 			$extensionModelMock
 		);
+
+		$dependencyUtilityMock = $this->getAccessibleMock('TYPO3\\CMS\\Extensionmanager\\Utility\\DependencyUtility');
+		$dependencyUtilityMock->expects($this->atLeastOnce())->method('buildExtensionDependenciesTree');
+		$installUtilityMock = $this->getMock('TYPO3\\CMS\\Extensionmanager\\Utility\\InstallUtility');
+		$installUtilityMock->expects($this->any())->method('enrichExtensionWithDetails')->will($this->returnValue(array()));
+		$extensionModelUtilityMock = $this->getMock('TYPO3\\CMS\\Extensionmanager\\Utility\\ExtensionModelUtility');
+		$extensionModelUtilityMock->expects($this->any())->method('mapExtensionArrayToModel')->will($this->returnValue($extensionModelMock));
+		$managementMock->_set('dependencyUtility', $dependencyUtilityMock);
+		$managementMock->_set('installUtility', $installUtilityMock);
+		$managementMock->_set('extensionModelUtility', $extensionModelUtilityMock);
+
 		$downloadQueueMock = $this->getAccessibleMock('TYPO3\\CMS\\Extensionmanager\\Domain\\Model\\DownloadQueue', array('removeExtensionFromQueue', 'addExtensionToInstallQueue'));
 		$downloadUtilityMock = $this->getAccessibleMock('TYPO3\\CMS\\Extensionmanager\\Utility\\DownloadUtility', array('download'));
 		$downloadQueueMock->expects($this->once())->method('removeExtensionFromQueue')->with($extensionModelMock);
@@ -137,12 +161,24 @@ class ExtensionManagementServiceTest extends \TYPO3\CMS\Core\Tests\UnitTestCase
 		$managementMock = $this->getAccessibleMock('TYPO3\\CMS\\Extensionmanager\\Service\\ExtensionManagementService', array(
 			'dummy'
 		));
+
 		$extensionModelMock = $this->getAccessibleMock('TYPO3\\CMS\\Extensionmanager\\Domain\\Model\\Extension', array('getExtensionKey'));
 		$extensionModelMock->_set('extensionKey', 'foobar');
 		$extensionModelMock->_set('version', '1.0.0');
 		$downloadQueue = array(
 			$extensionModelMock
 		);
+
+		$dependencyUtilityMock = $this->getAccessibleMock('TYPO3\\CMS\\Extensionmanager\\Utility\\DependencyUtility');
+		$dependencyUtilityMock->expects($this->atLeastOnce())->method('buildExtensionDependenciesTree');
+		$installUtilityMock = $this->getMock('TYPO3\\CMS\\Extensionmanager\\Utility\\InstallUtility');
+		$installUtilityMock->expects($this->any())->method('enrichExtensionWithDetails')->will($this->returnValue(array()));
+		$extensionModelUtilityMock = $this->getMock('TYPO3\\CMS\\Extensionmanager\\Utility\\ExtensionModelUtility');
+		$extensionModelUtilityMock->expects($this->any())->method('mapExtensionArrayToModel')->will($this->returnValue($extensionModelMock));
+		$managementMock->_set('dependencyUtility', $dependencyUtilityMock);
+		$managementMock->_set('installUtility', $installUtilityMock);
+		$managementMock->_set('extensionModelUtility', $extensionModelUtilityMock);
+
 		$downloadQueueMock = $this->getAccessibleMock('TYPO3\\CMS\\Extensionmanager\\Domain\\Model\\DownloadQueue', array('removeExtensionFromQueue', 'addExtensionToInstallQueue'));
 		$downloadUtilityMock = $this->getAccessibleMock('TYPO3\\CMS\\Extensionmanager\\Utility\\DownloadUtility', array('download'));
 		$extensionModelMock->expects($this->atLeastOnce())->method('getExtensionKey')->will($this->returnValue('foobar'));
@@ -201,7 +237,7 @@ class ExtensionManagementServiceTest extends \TYPO3\CMS\Core\Tests\UnitTestCase
 	public function installDependenciesCallsInstall() {
 		$managementMock = $this->getAccessibleMock(
 			'TYPO3\\CMS\\Extensionmanager\\Service\\ExtensionManagementService',
-			array('emitWillInstallExtensions')
+			array('emitWillInstallExtensions', 'emitHasInstalledExtension')
 		);
 		$installQueue = array(
 			'foobar' => array(
@@ -224,7 +260,8 @@ class ExtensionManagementServiceTest extends \TYPO3\CMS\Core\Tests\UnitTestCase
 	 */
 	public function installDependenciesReturnsResolvedDependencies() {
 		$managementMock = $this->getAccessibleMock('TYPO3\\CMS\\Extensionmanager\\Service\\ExtensionManagementService', array(
-			'emitWillInstallExtensions'
+			'emitWillInstallExtensions',
+			'emitHasInstalledExtension'
 		));
 		$installQueue = array(
 			'foobar' => 'foobar'