diff --git a/packages/svelte/src/compiler/phases/3-transform/utils.js b/packages/svelte/src/compiler/phases/3-transform/utils.js
index b7592f6f81..4663a53b8f 100644
--- a/packages/svelte/src/compiler/phases/3-transform/utils.js
+++ b/packages/svelte/src/compiler/phases/3-transform/utils.js
@@ -222,7 +222,7 @@ export function infer_namespace(namespace, parent, nodes, path) {
only_svg = false;
break;
}
- } else if (node.type !== 'Text' || node.data.trim() !== '') {
+ } else if (node.type !== 'Comment' && (node.type !== 'Text' || node.data.trim() !== '')) {
only_svg = false;
}
}
diff --git a/packages/svelte/tests/runtime-runes/samples/svg-namespace-infer/Wrapper.svelte b/packages/svelte/tests/runtime-runes/samples/svg-namespace-infer/Wrapper.svelte
new file mode 100644
index 0000000000..41f3f38fa8
--- /dev/null
+++ b/packages/svelte/tests/runtime-runes/samples/svg-namespace-infer/Wrapper.svelte
@@ -0,0 +1,13 @@
+outside
+
+{#if true}
+ true
+{:else}
+ false
+{/if}
+
+{#each Array(3).fill(0) as item, idx}
+ {idx}
+{/each}
+
+
diff --git a/packages/svelte/tests/runtime-runes/samples/svg-namespace-infer/_config.js b/packages/svelte/tests/runtime-runes/samples/svg-namespace-infer/_config.js
new file mode 100644
index 0000000000..46118026af
--- /dev/null
+++ b/packages/svelte/tests/runtime-runes/samples/svg-namespace-infer/_config.js
@@ -0,0 +1,26 @@
+import { test, ok } from '../../test';
+
+export default test({
+ html: `
+
+`,
+ test({ assert, target }) {
+ const svg = target.querySelector('svg');
+ ok(svg);
+
+ assert.equal(svg.namespaceURI, 'http://www.w3.org/2000/svg');
+
+ const text_elements = target.querySelectorAll('text');
+
+ assert.equal(text_elements.length, 5);
+
+ for (const { namespaceURI } of text_elements)
+ assert.equal(namespaceURI, 'http://www.w3.org/2000/svg');
+ }
+});
diff --git a/packages/svelte/tests/runtime-runes/samples/svg-namespace-infer/main.svelte b/packages/svelte/tests/runtime-runes/samples/svg-namespace-infer/main.svelte
new file mode 100644
index 0000000000..7c1253ea7e
--- /dev/null
+++ b/packages/svelte/tests/runtime-runes/samples/svg-namespace-infer/main.svelte
@@ -0,0 +1,7 @@
+
+
+