diff --git a/core/Command/App/ListApps.php b/core/Command/App/ListApps.php
index e03e3ce8f56731e74b015739589307ec14307ef8..c933a2519ef64cdc768c0e42355094c2f3003241 100644
--- a/core/Command/App/ListApps.php
+++ b/core/Command/App/ListApps.php
@@ -73,7 +73,7 @@ class ListApps extends Base {
 
 		//sort enabled apps above disabled apps
 		foreach ($apps as $app) {
-			if ($shippedFilter !== null && \OC_App::isShipped($app) !== $shippedFilter){
+			if ($shippedFilter !== null && $this->manager->isShipped($app) !== $shippedFilter){
 				continue;
 			}
 			if ($this->manager->isInstalled($app)) {
diff --git a/lib/private/Updater.php b/lib/private/Updater.php
index 6c23a43c3548d8ee24e7d97f49835b311347a0b6..902d22f667963c86bacd64aec60ba6936218ed54 100644
--- a/lib/private/Updater.php
+++ b/lib/private/Updater.php
@@ -315,10 +315,11 @@ class Updater extends BasicEmitter {
 		$apps = \OC_App::getEnabledApps();
 		$this->emit('\OC\Updater', 'appUpgradeCheckBefore');
 
+		$appManager = \OC::$server->getAppManager();
 		foreach ($apps as $appId) {
 			$info = \OC_App::getAppInfo($appId);
 			$compatible = \OC_App::isAppCompatible($version, $info);
-			$isShipped = \OC_App::isShipped($appId);
+			$isShipped = $appManager->isShipped($appId);
 
 			if ($compatible && $isShipped && \OC_App::shouldUpgrade($appId)) {
 				/**
@@ -407,11 +408,12 @@ class Updater extends BasicEmitter {
 		$apps = OC_App::getEnabledApps();
 		$version = Util::getVersion();
 		$disabledApps = [];
+		$appManager = \OC::$server->getAppManager();
 		foreach ($apps as $app) {
 			// check if the app is compatible with this version of ownCloud
 			$info = OC_App::getAppInfo($app);
 			if(!OC_App::isAppCompatible($version, $info)) {
-				if (OC_App::isShipped($app)) {
+				if ($appManager->isShipped($app)) {
 					throw new \UnexpectedValueException('The files of the app "' . $app . '" were not correctly replaced before running the update');
 				}
 				OC_App::disable($app);
@@ -422,7 +424,7 @@ class Updater extends BasicEmitter {
 				continue;
 			}
 			// shipped apps will remain enabled
-			if (OC_App::isShipped($app)) {
+			if ($appManager->isShipped($app)) {
 				continue;
 			}
 			// authentication and session apps will remain enabled as well
diff --git a/lib/private/legacy/api.php b/lib/private/legacy/api.php
index 894aee28560ff5a188c2ee9ee2b5441565021c88..f65275bf1daa54ec40e12c4d8747dc4af98748e5 100644
--- a/lib/private/legacy/api.php
+++ b/lib/private/legacy/api.php
@@ -123,13 +123,14 @@ class OC_API {
 		$name = $parameters['_route'];
 		// Foreach registered action
 		$responses = array();
+		$appManager = \OC::$server->getAppManager();
 		foreach(self::$actions[$name] as $action) {
 			// Check authentication and availability
 			if(!self::isAuthorised($action)) {
 				$responses[] = array(
 					'app' => $action['app'],
 					'response' => new OC_OCS_Result(null, API::RESPOND_UNAUTHORISED, 'Unauthorised'),
-					'shipped' => OC_App::isShipped($action['app']),
+					'shipped' => $appManager->isShipped($action['app']),
 					);
 				continue;
 			}
@@ -137,7 +138,7 @@ class OC_API {
 				$responses[] = array(
 					'app' => $action['app'],
 					'response' => new OC_OCS_Result(null, API::RESPOND_NOT_FOUND, 'Api method not found'),
-					'shipped' => OC_App::isShipped($action['app']),
+					'shipped' => $appManager->isShipped($action['app']),
 					);
 				continue;
 			}
@@ -145,7 +146,7 @@ class OC_API {
 			$responses[] = array(
 				'app' => $action['app'],
 				'response' => call_user_func($action['action'], $parameters),
-				'shipped' => OC_App::isShipped($action['app']),
+				'shipped' => $appManager->isShipped($action['app']),
 				);
 		}
 		$response = self::mergeResponses($responses);
diff --git a/lib/private/legacy/app.php b/lib/private/legacy/app.php
index 9f6932b3a89ef237d9e8a30207a1dd7216801ccc..872c1c120ac6df5648e60615a14887ce70ca1017 100644
--- a/lib/private/legacy/app.php
+++ b/lib/private/legacy/app.php
@@ -282,18 +282,6 @@ class OC_App {
 		}
 	}
 
-	/**
-	 * check if app is shipped
-	 *
-	 * @param string $appId the id of the app to check
-	 * @return bool
-	 *
-	 * Check if an app that is installed is a shipped app or installed from the appstore.
-	 */
-	public static function isShipped($appId) {
-		return \OC::$server->getAppManager()->isShipped($appId);
-	}
-
 	/**
 	 * get all enabled apps
 	 */
@@ -396,7 +384,7 @@ class OC_App {
 	 * @return bool
 	 */
 	public static function removeApp($app) {
-		if (self::isShipped($app)) {
+		if (\OC::$server->getAppManager()->isShipped($app)) {
 			return false;
 		}
 
@@ -777,8 +765,9 @@ class OC_App {
 	public function listAllApps() {
 		$installedApps = OC_App::getAllApps();
 
+		$appManager = \OC::$server->getAppManager();
 		//we don't want to show configuration for these
-		$blacklist = \OC::$server->getAppManager()->getAlwaysEnabledApps();
+		$blacklist = $appManager->getAlwaysEnabledApps();
 		$appList = array();
 		$langCode = \OC::$server->getL10N('core')->getLanguageCode();
 		$urlGenerator = \OC::$server->getURLGenerator();
@@ -810,7 +799,7 @@ class OC_App {
 
 				$info['active'] = $active;
 
-				if (self::isShipped($app)) {
+				if ($appManager->isShipped($app)) {
 					$info['internal'] = true;
 					$info['level'] = self::officialApp;
 					$info['removable'] = false;
@@ -823,12 +812,12 @@ class OC_App {
 				if($appPath !== false) {
 					$appIcon = $appPath . '/img/' . $app . '.svg';
 					if (file_exists($appIcon)) {
-						$info['preview'] = \OC::$server->getURLGenerator()->imagePath($app, $app . '.svg');
+						$info['preview'] = $urlGenerator->imagePath($app, $app . '.svg');
 						$info['previewAsIcon'] = true;
 					} else {
 						$appIcon = $appPath . '/img/app.svg';
 						if (file_exists($appIcon)) {
-							$info['preview'] = \OC::$server->getURLGenerator()->imagePath($app, 'app.svg');
+							$info['preview'] = $urlGenerator->imagePath($app, 'app.svg');
 							$info['previewAsIcon'] = true;
 						}
 					}