diff --git a/lib/private/App/AppManager.php b/lib/private/App/AppManager.php
index fca5c9b87ac202245f3d9c196567aac7d0edf815..6b819ef7ac14ac5d4b506c16509b7bd62a8e3f29 100644
--- a/lib/private/App/AppManager.php
+++ b/lib/private/App/AppManager.php
@@ -220,6 +220,21 @@ class AppManager implements IAppManager {
 		$this->clearAppsCache();
 	}
 
+	/**
+	 * Whether a list of types contains a protected app type
+	 *
+	 * @param string[] $types
+	 * @return bool
+	 */
+	public function hasProtectedAppType($types) {
+		if (empty($types)) {
+			return false;
+		}
+
+		$protectedTypes = array_intersect($this->protectedAppTypes, $types);
+		return !empty($protectedTypes);
+	}
+
 	/**
 	 * Enable an app only for specific groups
 	 *
diff --git a/lib/private/legacy/app.php b/lib/private/legacy/app.php
index adf29601ac6d142b5ccbbd20085e82264f3d07f3..8ef7e08c733a14b196094fd7341279488feba5e9 100644
--- a/lib/private/legacy/app.php
+++ b/lib/private/legacy/app.php
@@ -273,9 +273,17 @@ class OC_App {
 			$appTypes = implode(',', $appData['types']);
 		} else {
 			$appTypes = '';
+			$appData['types'] = [];
 		}
 
 		\OC::$server->getAppConfig()->setValue($app, 'types', $appTypes);
+
+		if (\OC::$server->getAppManager()->hasProtectedAppType($appData['types'])) {
+			$enabled = \OC::$server->getAppConfig()->getValue($app, 'enabled', 'yes');
+			if ($enabled !== 'yes' && $enabled !== 'no') {
+				\OC::$server->getAppConfig()->setValue($app, 'enabled', 'yes');
+			}
+		}
 	}
 
 	/**
diff --git a/lib/public/App/IAppManager.php b/lib/public/App/IAppManager.php
index 057a964ce0a66fb2aac59db913f8a30f2661f103..72c99777124a945ec15606c661d9d416d288f47d 100644
--- a/lib/public/App/IAppManager.php
+++ b/lib/public/App/IAppManager.php
@@ -61,6 +61,15 @@ interface IAppManager {
 	 */
 	public function enableApp($appId);
 
+	/**
+	 * Whether a list of types contains a protected app type
+	 *
+	 * @param string[] $types
+	 * @return bool
+	 * @since 12.0.0
+	 */
+	public function hasProtectedAppType($types);
+
 	/**
 	 * Enable an app only for specific groups
 	 *