diff --git a/lib/private/app.php b/lib/private/app.php
index 49d4e942a09e17bbd7a904999a6a6c18ceddabb0..787029b653b0e55b5e7e05a209c2c12472f1416e 100644
--- a/lib/private/app.php
+++ b/lib/private/app.php
@@ -87,7 +87,7 @@ class OC_App {
 	/**
 	 * loads all apps
 	 *
-	 * @param array $types
+	 * @param string[] | string | null $types
 	 * @return bool
 	 *
 	 * This function walks through the ownCloud directory and loads all apps
diff --git a/lib/private/updater.php b/lib/private/updater.php
index 78457ba3a804bc15e30791ef680162936d6199d1..4f74481562b9c011c468537d3c87e8ee9370b862 100644
--- a/lib/private/updater.php
+++ b/lib/private/updater.php
@@ -324,9 +324,6 @@ class Updater extends BasicEmitter {
 		if ($this->updateStepEnabled) {
 			$this->doCoreUpgrade();
 
-			// install new shipped apps on upgrade
-			OC_Installer::installShippedApps();
-
 			// update all shipped apps
 			$disabledApps = $this->checkAppsRequirements();
 			$this->doAppUpgrade();
@@ -334,6 +331,9 @@ class Updater extends BasicEmitter {
 			// upgrade appstore apps
 			$this->upgradeAppStoreApps($disabledApps);
 
+			// install new shipped apps on upgrade
+			OC_App::loadApps('authentication');
+			OC_Installer::installShippedApps();
 
 			// post-upgrade repairs
 			$repair = new Repair(Repair::getRepairSteps());