diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiReferenceExpressionImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiReferenceExpressionImpl.java
index 7cee51c2d914..a93170650aa8 100644
--- a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiReferenceExpressionImpl.java
+++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiReferenceExpressionImpl.java
@@ -240,7 +240,7 @@ public class PsiReferenceExpressionImpl extends PsiReferenceExpressionBase imple
private JavaResolveResult[] resolve(IElementType parentType, @NotNull PsiFile containingFile) {
if (parentType == JavaElementType.REFERENCE_EXPRESSION) {
JavaResolveResult[] result = resolveToVariable(containingFile);
- if (result.length > 0) {
+ if (result.length == 1 && result[0].isAccessible()) {
return result;
}
diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting/PrivateFieldInSuperClass.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting/PrivateFieldInSuperClass.java
new file mode 100644
index 000000000000..772288631436
--- /dev/null
+++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting/PrivateFieldInSuperClass.java
@@ -0,0 +1,11 @@
+class C {
+ private int id;
+}
+
+class A extends C {
+ {
+ id.MyObject.fromInt(1);
+
+ id.MyObject o;
+ }
+}
\ No newline at end of file
diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/LightAdvHighlightingTest.java b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/LightAdvHighlightingTest.java
index aaf4ae106d31..832290d5d733 100644
--- a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/LightAdvHighlightingTest.java
+++ b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/LightAdvHighlightingTest.java
@@ -391,6 +391,7 @@ public class LightAdvHighlightingTest extends LightDaemonAnalyzerTestCase {
public void testIDEA18343() { doTest(false, false); }
public void testNewExpressionClass() { doTest(false, false); }
public void testInnerClassObjectLiteralFromSuperExpression() { doTest(false, false); }
+ public void testPrivateFieldInSuperClass() { doTest(false, false); }
public void testNoEnclosingInstanceWhenStaticNestedInheritsFromContainingClass() throws Exception {
doTest(false, false);