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..e124f14ccf
--- /dev/null
+++ b/test/runtime/samples/each-block-keyed-recursive/_config.js
@@ -0,0 +1,26 @@
+export default {
+ props: {
+ titles: [{ name: 'b' }, { name: 'c' }],
+ 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.html b/test/runtime/samples/each-block-keyed-recursive/main.html
new file mode 100644
index 0000000000..5e90ec501c
--- /dev/null
+++ b/test/runtime/samples/each-block-keyed-recursive/main.html
@@ -0,0 +1,12 @@
+
+
+{#each tree as item, i (item.id)}
+
+ {item.id}
+ {#if item.sub}
+
+ {/if}
+
+{/each}