diff --git a/packages/svelte/src/internal/client/dom/elements/attributes.js b/packages/svelte/src/internal/client/dom/elements/attributes.js index 20c7f74c28..407c3c69e7 100644 --- a/packages/svelte/src/internal/client/dom/elements/attributes.js +++ b/packages/svelte/src/internal/client/dom/elements/attributes.js @@ -448,7 +448,10 @@ export function set_attributes(element, prev, next, css_hash, skip_warning = fal } for (let symbol of Object.getOwnPropertySymbols(next)) { - if (symbol.description === ATTACHMENT_KEY && (prev == undefined || !(symbol in prev))) { + if ( + symbol.description === ATTACHMENT_KEY && + (prev == undefined || !(symbol in prev) || prev[symbol] !== next[symbol]) + ) { attach(element, () => next[symbol]); } }