diff --git a/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/base-extension-initializer.controller.ts b/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/base-extension-initializer.controller.ts index 26aefae6ac..f6efb9bfb4 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/base-extension-initializer.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/base-extension-initializer.controller.ts @@ -176,6 +176,12 @@ export abstract class UmbBaseExtensionInitializer< configsOfThisType.map((conditionConfig) => this.#createConditionController(conditionManifest, conditionConfig)), ); + // If we got destroyed in the mean time, then we don't need to continue: + if (!this.#extensionRegistry) { + newConditionControllers.forEach((controller) => controller?.destroy()); + return; + } + const oldLength = this.#conditionControllers.length; newConditionControllers diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/components/extension-with-api-slot/extension-with-api-slot.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/components/extension-with-api-slot/extension-with-api-slot.element.ts index 9bfc2ab033..d1c35b7e9c 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/components/extension-with-api-slot/extension-with-api-slot.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/components/extension-with-api-slot/extension-with-api-slot.element.ts @@ -153,6 +153,7 @@ export class UmbExtensionWithApiSlotElement extends UmbLitElement { } #observeExtensions(): void { + // We want to be attached before we start observing extensions, cause first at this point we know that we got the right properties. [NL] if (!this.#attached) return; this.#extensionsController?.destroy(); if (this.#type) {