diff --git a/.changeset/violet-berries-repair.md b/.changeset/violet-berries-repair.md
new file mode 100644
index 0000000000..b42ce3841e
--- /dev/null
+++ b/.changeset/violet-berries-repair.md
@@ -0,0 +1,5 @@
+---
+'svelte': patch
+---
+
+fix: report invalid placement for all elements that auto-close a `
+ b
+
+ d
+ e
+ f
+ g
+
+ h
+ {/if}
+
diff --git a/packages/svelte/tests/validator/samples/invalid-node-placement-9/warnings.json b/packages/svelte/tests/validator/samples/invalid-node-placement-9/warnings.json
new file mode 100644
index 0000000000..984bc5de3e
--- /dev/null
+++ b/packages/svelte/tests/validator/samples/invalid-node-placement-9/warnings.json
@@ -0,0 +1,98 @@
+[
+ {
+ "code": "node_invalid_placement_ssr",
+ "message": "`
` cannot be a child of `
`. When rendering this component on the server, the resulting HTML will be modified by the browser (by moving, removing, or inserting elements), likely resulting in a `hydration_mismatch` warning",
+ "start": {
+ "line": 3,
+ "column": 2
+ },
+ "end": {
+ "line": 3,
+ "column": 20
+ }
+ },
+ {
+ "code": "node_invalid_placement_ssr",
+ "message": "`` cannot be a child of `
`. When rendering this component on the server, the resulting HTML will be modified by the browser (by moving, removing, or inserting elements), likely resulting in a `hydration_mismatch` warning",
+ "start": {
+ "line": 4,
+ "column": 2
+ },
+ "end": {
+ "line": 4,
+ "column": 22
+ }
+ },
+ {
+ "code": "node_invalid_placement_ssr",
+ "message": "`