diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-list/property-editors/block-list-editor/property-editor-ui-block-list.element.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-list/property-editors/block-list-editor/property-editor-ui-block-list.element.ts
index 61a09cea95..a53f817d07 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/block/block-list/property-editors/block-list-editor/property-editor-ui-block-list.element.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-list/property-editors/block-list-editor/property-editor-ui-block-list.element.ts
@@ -3,7 +3,7 @@ import type { UmbBlockListLayoutModel, UmbBlockListValueModel } from '../../type
import type { UmbBlockListEntryElement } from '../../components/block-list-entry/index.js';
import { UmbBlockListManagerContext } from '../../context/block-list-manager.context.js';
import { UMB_BLOCK_LIST_PROPERTY_EDITOR_ALIAS } from './manifests.js';
-import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
+import { UmbLitElement, umbDestroyOnDisconnect } from '@umbraco-cms/backoffice/lit-element';
import { html, customElement, property, state, repeat, css } from '@umbraco-cms/backoffice/external/lit';
import { UmbTextStyles } from '@umbraco-cms/backoffice/style';
import type { UmbPropertyEditorUiElement, UmbBlockTypeBaseModel } from '@umbraco-cms/backoffice/extension-registry';
@@ -206,7 +206,10 @@ export class UmbPropertyEditorUIBlockListElement extends UmbLitElement implement
html`
-
+
`,
)}
diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/lit-element/directives/destroy.lit-directive.ts b/src/Umbraco.Web.UI.Client/src/packages/core/lit-element/directives/destroy.lit-directive.ts
new file mode 100644
index 0000000000..3860d3d87a
--- /dev/null
+++ b/src/Umbraco.Web.UI.Client/src/packages/core/lit-element/directives/destroy.lit-directive.ts
@@ -0,0 +1,38 @@
+import { AsyncDirective, directive, nothing, type ElementPart } from '@umbraco-cms/backoffice/external/lit';
+
+/**
+ * The `focus` directive sets focus on the given element once its connected to the DOM.
+ */
+class UmbDestroyDirective extends AsyncDirective {
+ #el?: HTMLElement & { destroy: () => void };
+
+ override render() {
+ return nothing;
+ }
+
+ override update(part: ElementPart) {
+ this.#el = part.element as any;
+ return nothing;
+ }
+
+ override disconnected() {
+ if (this.#el) {
+ this.#el.destroy();
+ }
+ this.#el = undefined;
+ }
+
+ //override reconnected() {}
+}
+
+/**
+ * @description
+ * A Lit directive, which destroys the element once its disconnected from the DOM.
+ * @example:
+ * ```js
+ * html``;
+ * ```
+ */
+export const umbDestroyOnDisconnect = directive(UmbDestroyDirective);
+
+//export type { UmbDestroyDirective };
diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/lit-element/directives/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/lit-element/directives/index.ts
index 0ccb1bc7eb..f6877c9c11 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/core/lit-element/directives/index.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/core/lit-element/directives/index.ts
@@ -1 +1,2 @@
export * from './focus.lit-directive.js';
+export * from './destroy.lit-directive.js';