diff --git a/java/java-impl/src/com/intellij/codeInspection/sameParameterValue/SameParameterValueInspection.java b/java/java-impl/src/com/intellij/codeInspection/sameParameterValue/SameParameterValueInspection.java
index 9219e89f8e14..ccffc44f1f59 100644
--- a/java/java-impl/src/com/intellij/codeInspection/sameParameterValue/SameParameterValueInspection.java
+++ b/java/java-impl/src/com/intellij/codeInspection/sameParameterValue/SameParameterValueInspection.java
@@ -446,6 +446,9 @@ public class SameParameterValueInspection extends GlobalJavaBatchInspectionTool
if (!(uElement instanceof UReferenceExpression)) {
return false;
}
+ if (uElement instanceof UCallableReferenceExpression) {
+ return false;
+ }
UElement parent = uElement.getUastParent();
if (!(parent instanceof UCallExpression)) {
return false;
diff --git a/java/java-tests/testData/inspection/sameParameterValue/methodReferenceInCallArguments/expected.xml b/java/java-tests/testData/inspection/sameParameterValue/methodReferenceInCallArguments/expected.xml
new file mode 100644
index 000000000000..fe8911379d1d
--- /dev/null
+++ b/java/java-tests/testData/inspection/sameParameterValue/methodReferenceInCallArguments/expected.xml
@@ -0,0 +1,10 @@
+
+
+
+ Test.java
+ 8
+ Actual value of parameter 'string' is always 'hello'
+
+
+
+
diff --git a/java/java-tests/testData/inspection/sameParameterValue/methodReferenceInCallArguments/src/Test.java b/java/java-tests/testData/inspection/sameParameterValue/methodReferenceInCallArguments/src/Test.java
new file mode 100644
index 000000000000..ccdac0edccc9
--- /dev/null
+++ b/java/java-tests/testData/inspection/sameParameterValue/methodReferenceInCallArguments/src/Test.java
@@ -0,0 +1,18 @@
+import java.util.function.Consumer;
+
+class Test {
+ private void main() {
+ bar("hello", this::buzz);
+ }
+
+ private void bar(String string, Consumer o) {
+ o.accept(1);
+ use(string);
+ }
+
+ private void buzz(int integer) {
+ use(integer);
+ }
+
+ private void use(Object a) {}
+}
\ No newline at end of file
diff --git a/java/java-tests/testSrc/com/intellij/java/codeInspection/SameParameterValueLocalTest.java b/java/java-tests/testSrc/com/intellij/java/codeInspection/SameParameterValueLocalTest.java
index 102b7c00ae3e..9290e9294c2a 100644
--- a/java/java-tests/testSrc/com/intellij/java/codeInspection/SameParameterValueLocalTest.java
+++ b/java/java-tests/testSrc/com/intellij/java/codeInspection/SameParameterValueLocalTest.java
@@ -76,6 +76,10 @@ public class SameParameterValueLocalTest extends InspectionTestCase {
doTest(getGlobalTestDir(), myTool);
}
+ public void testMethodReferenceInCallArguments() {
+ doTest(getGlobalTestDir(), myTool);
+ }
+
public void testUsageCount() {
int previous = myGlobalTool.minimalUsageCount;
try {