diff --git a/src/runtime/internal/ssr.ts b/src/runtime/internal/ssr.ts
index 646a81d817..0e03afb0db 100644
--- a/src/runtime/internal/ssr.ts
+++ b/src/runtime/internal/ssr.ts
@@ -128,7 +128,7 @@ export function create_ssr_component(fn) {
}
export function add_attribute(name, value, boolean) {
- if (value == null || (boolean && !value)) return '';
+ if (value == null || (boolean && !value && value !== 0)) return '';
return ` ${name}${value === true ? '' : `=${typeof value === 'string' ? JSON.stringify(escape(value)) : `"${value}"`}`}`;
}
diff --git a/test/server-side-rendering/samples/bindings-zero/_expected.html b/test/server-side-rendering/samples/bindings-zero/_expected.html
new file mode 100644
index 0000000000..c243e358ff
--- /dev/null
+++ b/test/server-side-rendering/samples/bindings-zero/_expected.html
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/test/server-side-rendering/samples/bindings-zero/main.svelte b/test/server-side-rendering/samples/bindings-zero/main.svelte
new file mode 100644
index 0000000000..6b4c606b13
--- /dev/null
+++ b/test/server-side-rendering/samples/bindings-zero/main.svelte
@@ -0,0 +1,6 @@
+
+
+
+