diff --git a/lib/private/AppFramework/Bootstrap/Coordinator.php b/lib/private/AppFramework/Bootstrap/Coordinator.php
index 358e71d78541de1bc5d766bd5f3db32a80134ac2..e293ef2998e9d93dc37da8cdb103719f1b4dba09 100644
--- a/lib/private/AppFramework/Bootstrap/Coordinator.php
+++ b/lib/private/AppFramework/Bootstrap/Coordinator.php
@@ -60,6 +60,9 @@ class Coordinator {
 	/** @var RegistrationContext|null */
 	private $registrationContext;
 
+	/** @var string[] */
+	private $bootedApps = [];
+
 	public function __construct(IServerContainer $container,
 								Registry $registry,
 								IManager $dashboardManager,
@@ -134,6 +137,11 @@ class Coordinator {
 	}
 
 	public function bootApp(string $appId): void {
+		if (isset($this->bootedApps[$appId])) {
+			return;
+		}
+		$this->bootedApps[$appId] = true;
+
 		$appNameSpace = App::buildAppNamespace($appId);
 		$applicationClassName = $appNameSpace . '\\AppInfo\\Application';
 		if (!class_exists($applicationClassName)) {