diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiSwitchLabelStatementBaseImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiSwitchLabelStatementBaseImpl.java
index fab24259f167..42185e466e26 100644
--- a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiSwitchLabelStatementBaseImpl.java
+++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiSwitchLabelStatementBaseImpl.java
@@ -44,7 +44,7 @@ public abstract class PsiSwitchLabelStatementBaseImpl extends CompositePsiElemen
@NotNull ResolveState state,
PsiElement lastParent,
@NotNull PsiElement place) {
- if (lastParent != null) {
+ if (lastParent instanceof PsiExpressionList) {
PsiSwitchBlock switchStatement = getEnclosingSwitchBlock();
if (switchStatement != null) {
PsiExpression expression = switchStatement.getExpression();
diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting12/SwitchExpressionsEnumResolve.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting12/SwitchExpressionsEnumResolve.java
new file mode 100644
index 000000000000..8490182b3175
--- /dev/null
+++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting12/SwitchExpressionsEnumResolve.java
@@ -0,0 +1,12 @@
+import java.util.Random;
+
+class SwitchExpressionsEnumResolve {
+ enum E { E1, E2 }
+
+ E test(E e) {
+ return switch (e) {
+ case E1 -> E2;
+ case E2 -> E1;
+ };
+ }
+}
\ No newline at end of file
diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/LightJava12HighlightingTest.kt b/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/LightJava12HighlightingTest.kt
index 2c7f46984c55..7d889ce0436c 100644
--- a/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/LightJava12HighlightingTest.kt
+++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/LightJava12HighlightingTest.kt
@@ -10,6 +10,7 @@ class LightJava12HighlightingTest : LightCodeInsightFixtureTestCase() {
fun testEnhancedSwitchStatements() = doTest()
fun testSwitchExpressions() = doTest()
+ fun testSwitchExpressionsEnumResolve() = doTest()
fun testValueBreaks() = doTest()
fun testSwitchNumericPromotion() = doTest()
fun testSimpleInferenceCases() = doTest()