diff --git a/packages/svelte/src/internal/client/runtime.js b/packages/svelte/src/internal/client/runtime.js index b0e431f3b8a2..30f14b7356ce 100644 --- a/packages/svelte/src/internal/client/runtime.js +++ b/packages/svelte/src/internal/client/runtime.js @@ -188,7 +188,8 @@ export function check_dirtiness(reaction) { dependency = dependencies[i]; // We always re-add all reactions (even duplicates) if the derived was - // previously disconnected + // previously disconnected, however we don't if it was unowned as we + // de-duplicate dependencies in that case if (is_disconnected || !dependency?.reactions?.includes(reaction)) { (dependency.reactions ??= []).push(reaction); }