diff --git a/test/runtime/samples/await-then-blowback-reactive/Widget.svelte b/test/runtime/samples/await-then-blowback-reactive/Widget.svelte
new file mode 100644
index 0000000000..cfd918558b
--- /dev/null
+++ b/test/runtime/samples/await-then-blowback-reactive/Widget.svelte
@@ -0,0 +1,15 @@
+
+
+
diff --git a/test/runtime/samples/await-then-blowback-reactive/_config.js b/test/runtime/samples/await-then-blowback-reactive/_config.js
new file mode 100644
index 0000000000..7f094478ed
--- /dev/null
+++ b/test/runtime/samples/await-then-blowback-reactive/_config.js
@@ -0,0 +1,19 @@
+export default {
+ async test({ assert, component, target }) {
+ assert.htmlEqual(target.innerHTML, 'Loading...');
+
+ await component.promise;
+ const span = target.querySelector('span');
+ assert.equal(span.textContent, 'a');
+
+ const select = target.querySelector('select');
+ const options = [...target.querySelectorAll('option')];
+
+ const change = new window.Event('change');
+
+ options[1].selected = true;
+ await select.dispatchEvent(change);
+
+ assert.equal(span.textContent, 'b');
+ }
+};
diff --git a/test/runtime/samples/await-then-blowback-reactive/main.svelte b/test/runtime/samples/await-then-blowback-reactive/main.svelte
new file mode 100644
index 0000000000..ee212ef6b5
--- /dev/null
+++ b/test/runtime/samples/await-then-blowback-reactive/main.svelte
@@ -0,0 +1,12 @@
+
+
+{#await promise}
+ Loading...
+{:then options}
+
+ {value}
+{/await}