diff --git a/.changeset/hip-stingrays-teach.md b/.changeset/hip-stingrays-teach.md
new file mode 100644
index 000000000000..4f82007fbba2
--- /dev/null
+++ b/.changeset/hip-stingrays-teach.md
@@ -0,0 +1,5 @@
+---
+'svelte': patch
+---
+
+fix: add missing hydration mismatch call-site
diff --git a/packages/svelte/src/internal/client/dom/hydration.js b/packages/svelte/src/internal/client/dom/hydration.js
index 8b03fe7f9eb6..5f0880a67654 100644
--- a/packages/svelte/src/internal/client/dom/hydration.js
+++ b/packages/svelte/src/internal/client/dom/hydration.js
@@ -1,6 +1,12 @@
 /** @import { TemplateNode } from '#client' */
 
-import { HYDRATION_END, HYDRATION_START, HYDRATION_START_ELSE } from '../../../constants.js';
+import {
+	HYDRATION_END,
+	HYDRATION_ERROR,
+	HYDRATION_START,
+	HYDRATION_START_ELSE
+} from '../../../constants.js';
+import * as w from '../warnings.js';
 
 /**
  * Use this variable to guard everything related to hydration code so it can be treeshaken out
@@ -28,6 +34,10 @@ export function set_hydrate_node(node) {
 }
 
 export function hydrate_next() {
+	if (hydrate_node === null) {
+		w.hydration_mismatch();
+		throw HYDRATION_ERROR;
+	}
 	return (hydrate_node = /** @type {TemplateNode} */ (hydrate_node.nextSibling));
 }