diff --git a/src/compiler/compile/render_dom/wrappers/KeyBlock.ts b/src/compiler/compile/render_dom/wrappers/KeyBlock.ts
index cbd021ff6c..55402b9ff0 100644
--- a/src/compiler/compile/render_dom/wrappers/KeyBlock.ts
+++ b/src/compiler/compile/render_dom/wrappers/KeyBlock.ts
@@ -36,6 +36,7 @@ export default class KeyBlockWrapper extends Wrapper {
name: renderer.component.get_unique_name('create_key_block'),
type: 'key'
});
+ block.add_dependencies(node.expression.dependencies);
renderer.blocks.push(block);
}
diff --git a/test/runtime/samples/key-block-component-slot/Component1.svelte b/test/runtime/samples/key-block-component-slot/Component1.svelte
new file mode 100644
index 0000000000..d0ea817d54
--- /dev/null
+++ b/test/runtime/samples/key-block-component-slot/Component1.svelte
@@ -0,0 +1 @@
+
diff --git a/test/runtime/samples/key-block-component-slot/Component2.svelte b/test/runtime/samples/key-block-component-slot/Component2.svelte
new file mode 100644
index 0000000000..ca04744936
--- /dev/null
+++ b/test/runtime/samples/key-block-component-slot/Component2.svelte
@@ -0,0 +1,12 @@
+
diff --git a/test/runtime/samples/key-block-component-slot/_config.js b/test/runtime/samples/key-block-component-slot/_config.js
new file mode 100644
index 0000000000..8fbbeaec64
--- /dev/null
+++ b/test/runtime/samples/key-block-component-slot/_config.js
@@ -0,0 +1,18 @@
+const logs = [];
+
+export default {
+ html: '',
+ props: {
+ logs
+ },
+ async test({ assert, component, target, raf }) {
+ assert.deepEqual(logs, ['mount']);
+
+ const button = target.querySelector('button');
+
+ const click = new window.MouseEvent('click');
+ await button.dispatchEvent(click);
+
+ assert.deepEqual(logs, ['mount', 'unmount', 'mount']);
+ }
+};
diff --git a/test/runtime/samples/key-block-component-slot/main.svelte b/test/runtime/samples/key-block-component-slot/main.svelte
new file mode 100644
index 0000000000..77fde32d9c
--- /dev/null
+++ b/test/runtime/samples/key-block-component-slot/main.svelte
@@ -0,0 +1,17 @@
+
+
+
+ {#key reset}
+
+ {/key}
+
+
+
\ No newline at end of file