diff --git a/test/runtime/samples/each-block-keyed-recursive/_config.js b/test/runtime/samples/each-block-keyed-recursive/_config.js
new file mode 100644
index 0000000000..7ad044228b
--- /dev/null
+++ b/test/runtime/samples/each-block-keyed-recursive/_config.js
@@ -0,0 +1,25 @@
+export default {
+ props: {
+ tree: [
+ {id: 1, sub: null},
+ {id: 2, sub: [{id: 11}]}
+ ]
+ },
+
+ html: `
+
1
+
+ `,
+
+ test({ assert, component, target }) {
+ component.tree = [
+ {id: 1, sub: null},
+ {id: 2, sub: null}
+ ];
+
+ assert.htmlEqual(target.innerHTML, `
+ 1
+ 2
+ `);
+ }
+};
diff --git a/test/runtime/samples/each-block-keyed-recursive/main.svelte b/test/runtime/samples/each-block-keyed-recursive/main.svelte
new file mode 100644
index 0000000000..5e90ec501c
--- /dev/null
+++ b/test/runtime/samples/each-block-keyed-recursive/main.svelte
@@ -0,0 +1,12 @@
+
+
+{#each tree as item, i (item.id)}
+
+ {item.id}
+ {#if item.sub}
+
+ {/if}
+
+{/each}