diff --git a/packages/svelte/tests/runtime-runes/samples/error-boundary-23/_config.js b/packages/svelte/tests/runtime-runes/samples/error-boundary-23/_config.js
new file mode 100644
index 0000000000..fd51be3ca1
--- /dev/null
+++ b/packages/svelte/tests/runtime-runes/samples/error-boundary-23/_config.js
@@ -0,0 +1,14 @@
+import { flushSync } from 'svelte';
+import { test } from '../../test';
+
+export default test({
+ test({ assert, target, logs }) {
+ let btn = target.querySelector('button');
+
+ btn?.click();
+ btn?.click();
+ flushSync();
+
+ assert.deepEqual(logs, ['error caught 1', 'error caught 2']);
+ }
+});
diff --git a/packages/svelte/tests/runtime-runes/samples/error-boundary-23/main.svelte b/packages/svelte/tests/runtime-runes/samples/error-boundary-23/main.svelte
new file mode 100644
index 0000000000..3c599e2aa7
--- /dev/null
+++ b/packages/svelte/tests/runtime-runes/samples/error-boundary-23/main.svelte
@@ -0,0 +1,7 @@
+
+
+ {console.log(e.stack)}}>
+
+
diff --git a/packages/svelte/tests/runtime-runes/samples/error-boundary-23/test.svelte b/packages/svelte/tests/runtime-runes/samples/error-boundary-23/test.svelte
new file mode 100644
index 0000000000..e24a94220f
--- /dev/null
+++ b/packages/svelte/tests/runtime-runes/samples/error-boundary-23/test.svelte
@@ -0,0 +1,22 @@
+
+
+ {console.log('error caught 1')}}>
+ Count: {count}
+
+ {count} / {test}
+
+
+
+ {console.log('error caught 2')}}>
+ Count: {count}
+
+ {count} / {test}
+