diff --git a/.changeset/curvy-snakes-turn.md b/.changeset/curvy-snakes-turn.md
new file mode 100644
index 000000000..07349e478
--- /dev/null
+++ b/.changeset/curvy-snakes-turn.md
@@ -0,0 +1,5 @@
+---
+'@astrojs/svelte': patch
+---
+
+Fix unmounting slots passed to Svelte components
diff --git a/packages/astro/e2e/fixtures/svelte-component/src/components/ToggleSlots.svelte b/packages/astro/e2e/fixtures/svelte-component/src/components/ToggleSlots.svelte
new file mode 100644
index 000000000..3a8595ff5
--- /dev/null
+++ b/packages/astro/e2e/fixtures/svelte-component/src/components/ToggleSlots.svelte
@@ -0,0 +1,12 @@
+
+
+
diff --git a/packages/astro/e2e/fixtures/svelte-component/src/env.d.ts b/packages/astro/e2e/fixtures/svelte-component/src/env.d.ts
new file mode 100644
index 000000000..8c34fb45e
--- /dev/null
+++ b/packages/astro/e2e/fixtures/svelte-component/src/env.d.ts
@@ -0,0 +1 @@
+///
\ No newline at end of file
diff --git a/packages/astro/e2e/fixtures/svelte-component/src/pages/index.astro b/packages/astro/e2e/fixtures/svelte-component/src/pages/index.astro
index 9bd8f23bf..472b863f6 100644
--- a/packages/astro/e2e/fixtures/svelte-component/src/pages/index.astro
+++ b/packages/astro/e2e/fixtures/svelte-component/src/pages/index.astro
@@ -1,6 +1,7 @@
---
import Counter from '../components/Counter.svelte';
import SvelteComponent from '../components/SvelteComponent.svelte';
+import ToggleSlots from '../components/ToggleSlots.svelte';
const someProps = {
count: 0,
@@ -33,5 +34,14 @@ const someProps = {
+
+
+
+ open
+
+
+ close
+
+