diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/java/ControlFlowAnalyzer.java b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/java/ControlFlowAnalyzer.java
index b1c7d8de4e20..6e84b43e32d4 100644
--- a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/java/ControlFlowAnalyzer.java
+++ b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/java/ControlFlowAnalyzer.java
@@ -1085,6 +1085,8 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
PsiExpression expression = ((PsiGuardedPattern)innerPattern).getGuardingExpression();
if (expression != null) {
expression.accept(this);
+ } else {
+ addInstruction(new PushValueInstruction(DfTypes.BOOLEAN));
}
DeferredOffset condGotoOffset = new DeferredOffset();
addInstruction(new ConditionalGotoInstruction(condGotoOffset, DfTypes.TRUE));
diff --git a/java/java-tests/testData/inspection/dataFlow/fixture/Patterns.java b/java/java-tests/testData/inspection/dataFlow/fixture/Patterns.java
index 1d62bb1b7b4d..11c636fe4f59 100644
--- a/java/java-tests/testData/inspection/dataFlow/fixture/Patterns.java
+++ b/java/java-tests/testData/inspection/dataFlow/fixture/Patterns.java
@@ -1,4 +1,10 @@
class Test {
+ int testIncomplete(Object obj) {
+ return switch(obj) {
+ case String s &&
+ };
+ }
+
void test1(Object o) {
int a;
switch (o) {