diff --git a/packages/svelte/src/internal/client/dom/blocks/branches.js b/packages/svelte/src/internal/client/dom/blocks/branches.js index a2ffa77c04..308fffaa70 100644 --- a/packages/svelte/src/internal/client/dom/blocks/branches.js +++ b/packages/svelte/src/internal/client/dom/blocks/branches.js @@ -158,20 +158,18 @@ export class BranchManager { var defer = should_defer_append(); if (fn && !this.#onscreen.has(key) && !this.#offscreen.has(key)) { + var effect = branch(() => fn(this.anchor)); + if (defer) { var fragment = document.createDocumentFragment(); var anchor = create_text(); fragment.append(anchor); - this.#offscreen.set( - key, - branch(() => fn(anchor)) - ); + move_effect_before(effect, anchor); + + this.#offscreen.set(key, effect); } else { - this.#onscreen.set( - key, - branch(() => fn(this.anchor)) - ); + this.#onscreen.set(key, effect); } }