diff --git a/packages/svelte/tests/runtime-runes/samples/mount-component-in-onmount-with-context-with-state/_config.js b/packages/svelte/tests/runtime-runes/samples/mount-component-in-onmount-with-context-with-state/_config.js
new file mode 100644
index 0000000000..f3dd65eded
--- /dev/null
+++ b/packages/svelte/tests/runtime-runes/samples/mount-component-in-onmount-with-context-with-state/_config.js
@@ -0,0 +1,34 @@
+import { flushSync } from 'svelte';
+import { test } from '../../test';
+
+export default test({
+ test({ assert, target, logs }) {
+ const button = target.querySelector('button');
+
+ assert.htmlEqual(
+ target.innerHTML,
+ `
+
+
+
First if block:
+
First: true
+
Second if block:
+
Second: true
+
+ `
+ );
+
+ flushSync(() => button?.click());
+
+ assert.htmlEqual(
+ target.innerHTML,
+ `
+
+
+
First if block:
+
Second if block:
+
+ `
+ );
+ }
+});
diff --git a/packages/svelte/tests/runtime-runes/samples/mount-component-in-onmount-with-context-with-state/main.svelte b/packages/svelte/tests/runtime-runes/samples/mount-component-in-onmount-with-context-with-state/main.svelte
new file mode 100644
index 0000000000..0408b6218a
--- /dev/null
+++ b/packages/svelte/tests/runtime-runes/samples/mount-component-in-onmount-with-context-with-state/main.svelte
@@ -0,0 +1,22 @@
+
+
+
+
diff --git a/packages/svelte/tests/runtime-runes/samples/mount-component-in-onmount-with-context-with-state/module.svelte.js b/packages/svelte/tests/runtime-runes/samples/mount-component-in-onmount-with-context-with-state/module.svelte.js
new file mode 100644
index 0000000000..7bb2471670
--- /dev/null
+++ b/packages/svelte/tests/runtime-runes/samples/mount-component-in-onmount-with-context-with-state/module.svelte.js
@@ -0,0 +1,19 @@
+import { mount } from 'svelte';
+import Nested from './nested.svelte';
+
+export function mountComponentWithContext(target) {
+ const stateObject = $state({ showText: true });
+
+ mount(Nested, {
+ target,
+ props: {},
+ context: new Map([['stateContext', stateObject]])
+ });
+
+ return {
+ getShowText: () => stateObject.showText,
+ setShowText: (newShowText) => {
+ stateObject.showText = newShowText;
+ }
+ };
+}
diff --git a/packages/svelte/tests/runtime-runes/samples/mount-component-in-onmount-with-context-with-state/nested.svelte b/packages/svelte/tests/runtime-runes/samples/mount-component-in-onmount-with-context-with-state/nested.svelte
new file mode 100644
index 0000000000..92c6d800ae
--- /dev/null
+++ b/packages/svelte/tests/runtime-runes/samples/mount-component-in-onmount-with-context-with-state/nested.svelte
@@ -0,0 +1,15 @@
+
+
+First if block:
+{#if stateObjectFromContext.showText === true}
+ First: {stateObjectFromContext.showText}
+{/if}
+
+Second if block:
+{#if stateObjectFromContext.showText === true}
+ Second: {stateObjectFromContext.showText}
+{/if}