diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/ControlFlowAnalyzer.java b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/ControlFlowAnalyzer.java
index 8e63fdb91e0b..6e42269132bb 100644
--- a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/ControlFlowAnalyzer.java
+++ b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/ControlFlowAnalyzer.java
@@ -1163,7 +1163,7 @@ class ControlFlowAnalyzer extends JavaElementVisitor {
if (!shortCircuit) {
if (i > 0) {
- combineStackBooleans(false, operand);
+ combineStackBooleans(true, operand);
}
continue;
}
diff --git a/java/java-tests/testData/inspection/dataFlow/boxingBoolean/expected.xml b/java/java-tests/testData/inspection/dataFlow/boxingBoolean/expected.xml
index eb4d42c5bf86..d04ea2815d43 100644
--- a/java/java-tests/testData/inspection/dataFlow/boxingBoolean/expected.xml
+++ b/java/java-tests/testData/inspection/dataFlow/boxingBoolean/expected.xml
@@ -36,9 +36,4 @@
Condition <code>o</code> at the left side of assignment expression is always <code>false</code>. Can be simplified to normal assignment.
-
- Test.java
- 52
- Condition <code>o</code> is always <code>true</code>
-
diff --git a/java/java-tests/testData/inspection/dataFlow/fixture/LongCircuitOperations.java b/java/java-tests/testData/inspection/dataFlow/fixture/LongCircuitOperations.java
index e05c670be6af..d9e998461aaf 100644
--- a/java/java-tests/testData/inspection/dataFlow/fixture/LongCircuitOperations.java
+++ b/java/java-tests/testData/inspection/dataFlow/fixture/LongCircuitOperations.java
@@ -1,3 +1,5 @@
+import org.jetbrains.annotations.NotNull;
+
class X {
int foo(String d1, String d2) {
@@ -7,7 +9,7 @@ class X {
}
void foo2(String d1, String d2) {
- if(d1 == null & d1 != null)
+ if(d1 == null & d1 != null)
System.out.println("impossible");
}
@@ -17,3 +19,16 @@ class X {
}
}
+class Doo {
+
+ void zoo(@NotNull Object t, @NotNull Object s) {
+ }
+
+
+ private void goo(Object t, Object t2) {
+ if (t != null & t2 != null) {
+ zoo(t, t2);
+ }
+ }
+
+}