diff --git a/src/compiler/compile/css/Selector.ts b/src/compiler/compile/css/Selector.ts
index f2839ba36a..19fac1f314 100644
--- a/src/compiler/compile/css/Selector.ts
+++ b/src/compiler/compile/css/Selector.ts
@@ -483,11 +483,11 @@ function find_previous_sibling_ignoring_slots(node: INode): INode {
}
// @ts-ignore
- if (!current_node.prev && current_node.parent.type === 'Slot') {
- current_node = current_node.parent.prev;
- } else {
- current_node = current_node.prev;
+ while (!current_node.prev && current_node.parent && current_node.parent.type === 'Slot') {
+ current_node = current_node.parent;
}
+ current_node = current_node.prev;
+
// @ts-ignore
} while (current_node && current_node.type === 'Slot');
diff --git a/test/css/samples/general-siblings-combinator-nested-slots-flattened/expected.css b/test/css/samples/general-siblings-combinator-nested-slots-flattened/expected.css
new file mode 100644
index 0000000000..f365e3dc24
--- /dev/null
+++ b/test/css/samples/general-siblings-combinator-nested-slots-flattened/expected.css
@@ -0,0 +1 @@
+h1.svelte-xyz~p.svelte-xyz{color:red}
\ No newline at end of file
diff --git a/test/css/samples/general-siblings-combinator-nested-slots-flattened/input.svelte b/test/css/samples/general-siblings-combinator-nested-slots-flattened/input.svelte
new file mode 100644
index 0000000000..0d521b8385
--- /dev/null
+++ b/test/css/samples/general-siblings-combinator-nested-slots-flattened/input.svelte
@@ -0,0 +1,7 @@
+Heading 1
Span 1Span 2Paragraph 2
+
+
diff --git a/test/css/samples/siblings-combinator-nested-slots-flattened/expected.css b/test/css/samples/siblings-combinator-nested-slots-flattened/expected.css
new file mode 100644
index 0000000000..d523f1d533
--- /dev/null
+++ b/test/css/samples/siblings-combinator-nested-slots-flattened/expected.css
@@ -0,0 +1 @@
+h1.svelte-xyz+span.svelte-xyz{color:red}
\ No newline at end of file
diff --git a/test/css/samples/siblings-combinator-nested-slots-flattened/input.svelte b/test/css/samples/siblings-combinator-nested-slots-flattened/input.svelte
new file mode 100644
index 0000000000..475aa85426
--- /dev/null
+++ b/test/css/samples/siblings-combinator-nested-slots-flattened/input.svelte
@@ -0,0 +1,7 @@
+test
Hello
+
+