diff --git a/java/java-analysis-impl/src/com/intellij/psi/util/RedundantCastUtil.java b/java/java-analysis-impl/src/com/intellij/psi/util/RedundantCastUtil.java
index 528af900d4dc..89c81fba339e 100644
--- a/java/java-analysis-impl/src/com/intellij/psi/util/RedundantCastUtil.java
+++ b/java/java-analysis-impl/src/com/intellij/psi/util/RedundantCastUtil.java
@@ -611,6 +611,13 @@ public class RedundantCastUtil {
LOG.assertTrue(initializer != null, operand.getText());
opType = initializer.getType();
+ if (initializer instanceof PsiMethodCallExpression) {
+ JavaResolveResult newResult = ((PsiMethodCallExpression)initializer).resolveMethodGenerics();
+ if (newResult instanceof MethodCandidateInfo && ((MethodCandidateInfo)newResult).getInferenceErrorMessage() != null) {
+ return;
+ }
+ }
+
if (opType != null) {
if (operand instanceof PsiConditionalExpression) {
if (!isApplicableForConditionalBranch(opType, ((PsiConditionalExpression)operand).getThenExpression())) return;
diff --git a/java/java-tests/testData/inspection/redundantCast/lambda/InferenceIncompatibilityWithoutCast.java b/java/java-tests/testData/inspection/redundantCast/lambda/InferenceIncompatibilityWithoutCast.java
new file mode 100644
index 000000000000..2976878c00f8
--- /dev/null
+++ b/java/java-tests/testData/inspection/redundantCast/lambda/InferenceIncompatibilityWithoutCast.java
@@ -0,0 +1,36 @@
+
+import java.util.*;
+
+import java.util.function.Predicate;
+
+class MyTest {
+ private final Set set;
+
+ public MyTest() {
+ set = (Set) newSet();
+ }
+
+ private static > Set newSet() {
+ return null;
+ }
+
+ static Predicate eq(Predicate super T> predicate) {
+ return predicate::test;
+ }
+
+ static void test(Predicate super T> predicate) {
+ class X {
+ void test2() {
+ Predicate super TT> not = (Predicate super TT>)eq(predicate);
+ }
+ }
+ }
+}
+class Repro {
+ public interface MembersInjector { }
+ static MembersInjector create(Class cls) { return null; }
+ public static void main(String[] args) {
+ Class>[] parameterTypes = new Class>[1];
+ MembersInjector