diff --git a/src/compile/render-dom/wrappers/Element/index.ts b/src/compile/render-dom/wrappers/Element/index.ts index 50752c021b..22ea7a78cd 100644 --- a/src/compile/render-dom/wrappers/Element/index.ts +++ b/src/compile/render-dom/wrappers/Element/index.ts @@ -143,7 +143,14 @@ export default class ElementWrapper extends Wrapper { name: this.renderer.component.get_unique_name(`create_${sanitize(name)}_slot`) }); - const fn = get_context_merger(this.node.lets); + const lets = this.node.lets; + const seen = new Set(lets.map(l => l.name)); + + (owner as InlineComponentWrapper).node.lets.forEach(l => { + if (!seen.has(l.name)) lets.push(l); + }); + + const fn = get_context_merger(lets); (owner as InlineComponentWrapper).slots.set(name, { block: child_block,