diff --git a/packages/svelte/src/internal/server/index.js b/packages/svelte/src/internal/server/index.js
index 5ccfb7ec8e..913f526d70 100644
--- a/packages/svelte/src/internal/server/index.js
+++ b/packages/svelte/src/internal/server/index.js
@@ -205,8 +205,10 @@ export function spread_attributes(attrs, css_hash, classes, styles, flags = 0) {
if (!ignore_defaults) {
if (name === 'defaultvalue') {
name = 'value';
+ if (attrs[name]) continue;
} else if (name === 'defaultchecked') {
name = 'checked';
+ if (attrs[name]) continue;
}
}
diff --git a/packages/svelte/tests/runtime-runes/samples/form-default-value-from-spread/_config.js b/packages/svelte/tests/runtime-runes/samples/form-default-value-from-spread/_config.js
index 83a2575fbf..3808ae6530 100644
--- a/packages/svelte/tests/runtime-runes/samples/form-default-value-from-spread/_config.js
+++ b/packages/svelte/tests/runtime-runes/samples/form-default-value-from-spread/_config.js
@@ -5,5 +5,6 @@ export default test({
html: `
+
`
});
diff --git a/packages/svelte/tests/runtime-runes/samples/form-default-value-from-spread/main.svelte b/packages/svelte/tests/runtime-runes/samples/form-default-value-from-spread/main.svelte
index 5a17622bed..7c0ce9cbe3 100644
--- a/packages/svelte/tests/runtime-runes/samples/form-default-value-from-spread/main.svelte
+++ b/packages/svelte/tests/runtime-runes/samples/form-default-value-from-spread/main.svelte
@@ -4,4 +4,5 @@
-
\ No newline at end of file
+
+
\ No newline at end of file