diff --git a/java/java-impl/src/com/intellij/codeInsight/generation/OverrideImplementUtil.java b/java/java-impl/src/com/intellij/codeInsight/generation/OverrideImplementUtil.java
index 544838da81c2..887ac6ad0a13 100644
--- a/java/java-impl/src/com/intellij/codeInsight/generation/OverrideImplementUtil.java
+++ b/java/java-impl/src/com/intellij/codeInsight/generation/OverrideImplementUtil.java
@@ -342,7 +342,7 @@ public final class OverrideImplementUtil extends OverrideImplementExploreUtil {
for (PsiClassType type : targetClass.getSuperTypes()) {
PsiClass superClass = type.resolve();
if (InheritanceUtil.isInheritorOrSelf(superClass, aClass, true)) {
- return superClass;
+ return superClass.isInterface() ? superClass : null;
}
}
}
diff --git a/java/java-tests/testData/codeInsight/overrideImplement/afterExtensionMethods2.java b/java/java-tests/testData/codeInsight/overrideImplement/afterExtensionMethods2.java
new file mode 100644
index 000000000000..7cbf048d9e08
--- /dev/null
+++ b/java/java-tests/testData/codeInsight/overrideImplement/afterExtensionMethods2.java
@@ -0,0 +1,14 @@
+interface A {
+ default void foo() {}
+}
+
+interface B1 extends A {}
+
+class B implements A {}
+
+class C extends B implements B1 {
+ @Override
+ public void foo() {
+ super.foo();
+ }
+}
diff --git a/java/java-tests/testData/codeInsight/overrideImplement/beforeExtensionMethods2.java b/java/java-tests/testData/codeInsight/overrideImplement/beforeExtensionMethods2.java
new file mode 100644
index 000000000000..bf7c878c3beb
--- /dev/null
+++ b/java/java-tests/testData/codeInsight/overrideImplement/beforeExtensionMethods2.java
@@ -0,0 +1,11 @@
+interface A {
+ default void foo() {}
+}
+
+interface B1 extends A {}
+
+class B implements A {}
+
+class C extends B implements B1 {
+
+}
diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/OverrideImplementTest.groovy b/java/java-tests/testSrc/com/intellij/java/codeInsight/OverrideImplementTest.groovy
index c5c5b2566a77..00548e29978d 100644
--- a/java/java-tests/testSrc/com/intellij/java/codeInsight/OverrideImplementTest.groovy
+++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/OverrideImplementTest.groovy
@@ -53,6 +53,8 @@ class OverrideImplementTest extends LightJavaCodeInsightFixtureTestCase {
void testExtensionMethods1() { doTest(true) }
+ void testExtensionMethods2() { doTest(true) }
+
void testSkipUnknownAnnotations() { doTest(true) }
void testMultipleInheritedThrows() { doTest(false) }