diff --git a/test/runtime/samples/transition-js-repeated-outro/_config.js b/test/runtime/samples/transition-js-repeated-outro/_config.js
new file mode 100644
index 0000000000..b58dcb53a1
--- /dev/null
+++ b/test/runtime/samples/transition-js-repeated-outro/_config.js
@@ -0,0 +1,27 @@
+export default {
+ test({ assert, component, target, raf }) {
+ component.number = 10;
+ const span = target.querySelector('span');
+
+ raf.tick(50);
+ assert.equal(span.foo, 0.5);
+
+ component.number = 9;
+ raf.tick(60);
+ assert.equal(span.foo, 0.4);
+
+ component.number = 8;
+ raf.tick(70);
+ assert.equal(span.foo, 0.3);
+
+ raf.tick(100);
+ assert.htmlEqual(target.innerHTML, ``);
+
+ component.number = 11;
+ raf.tick(120);
+ assert.equal(span.foo, 0.2);
+ assert.htmlEqual(target.innerHTML, `
+ hello
+ `);
+ },
+};
diff --git a/test/runtime/samples/transition-js-repeated-outro/main.svelte b/test/runtime/samples/transition-js-repeated-outro/main.svelte
new file mode 100644
index 0000000000..6ed3d61e63
--- /dev/null
+++ b/test/runtime/samples/transition-js-repeated-outro/main.svelte
@@ -0,0 +1,16 @@
+
+
+{#if number > 10}
+ hello
+{/if}
\ No newline at end of file