diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/instructions/MethodCallInstruction.java b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/instructions/MethodCallInstruction.java
index 3f0c37459eae..3b1392676056 100644
--- a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/instructions/MethodCallInstruction.java
+++ b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/instructions/MethodCallInstruction.java
@@ -149,7 +149,7 @@ public class MethodCallInstruction extends Instruction implements ExpressionPush
return EMPTY_NULLABILITY_ARRAY;
}
- int checkedCount = Math.min(myArgCount, parameters.length) - (myVarArgCall ? 1 : 0);
+ int checkedCount = Math.min(myArgCount, parameters.length - (myVarArgCall ? 1 : 0));
Nullability[] nullabilities = new Nullability[myArgCount];
for (int i = 0; i < checkedCount; i++) {
diff --git a/java/java-tests/testData/inspection/dataFlow/fixture/PassingNullableIntoVararg.java b/java/java-tests/testData/inspection/dataFlow/fixture/PassingNullableIntoVararg.java
index cb746af84816..8370f96a162c 100644
--- a/java/java-tests/testData/inspection/dataFlow/fixture/PassingNullableIntoVararg.java
+++ b/java/java-tests/testData/inspection/dataFlow/fixture/PassingNullableIntoVararg.java
@@ -3,8 +3,12 @@ import org.jetbrains.annotations.NotNull;
class Test {
public static void test(@NotNull Object... objects) { }
+ public static void test2(@NotNull Object first, @NotNull Object... rest) { }
+
public static void main(String[] args) {
Object o = null;
- test(o);
+ if(Math.random() > 0.5) test(o);
+ if(Math.random() > 0.5) test2(o);
+ if(Math.random() > 0.5) test2(o, o);
}
}
\ No newline at end of file