diff --git a/.changeset/honest-crabs-try.md b/.changeset/honest-crabs-try.md
new file mode 100644
index 0000000000..d8020ecea9
--- /dev/null
+++ b/.changeset/honest-crabs-try.md
@@ -0,0 +1,5 @@
+---
+'svelte': patch
+---
+
+fix: `bind:value` to select with stores
diff --git a/packages/svelte/src/compiler/phases/3-transform/server/visitors/RegularElement.js b/packages/svelte/src/compiler/phases/3-transform/server/visitors/RegularElement.js
index 65959938ac..0779195e2e 100644
--- a/packages/svelte/src/compiler/phases/3-transform/server/visitors/RegularElement.js
+++ b/packages/svelte/src/compiler/phases/3-transform/server/visitors/RegularElement.js
@@ -119,8 +119,8 @@ export function RegularElement(node, context) {
'=',
left,
value.expression.type === 'SequenceExpression'
- ? b.call(value.expression.expressions[0])
- : value.expression
+ ? /** @type {Expression} */ (context.visit(b.call(value.expression.expressions[0])))
+ : /** @type {Expression} */ (context.visit(value.expression))
)
)
);
diff --git a/packages/svelte/tests/server-side-rendering/samples/select-value-bind-store/_expected.html b/packages/svelte/tests/server-side-rendering/samples/select-value-bind-store/_expected.html
new file mode 100644
index 0000000000..96d1d8b233
--- /dev/null
+++ b/packages/svelte/tests/server-side-rendering/samples/select-value-bind-store/_expected.html
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/packages/svelte/tests/server-side-rendering/samples/select-value-bind-store/main.svelte b/packages/svelte/tests/server-side-rendering/samples/select-value-bind-store/main.svelte
new file mode 100644
index 0000000000..cb3b554762
--- /dev/null
+++ b/packages/svelte/tests/server-side-rendering/samples/select-value-bind-store/main.svelte
@@ -0,0 +1,10 @@
+
+
+
\ No newline at end of file