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 a93170650aa8..040653e20934 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
@@ -239,9 +239,13 @@ public class PsiReferenceExpressionImpl extends PsiReferenceExpressionBase imple
@NotNull
private JavaResolveResult[] resolve(IElementType parentType, @NotNull PsiFile containingFile) {
if (parentType == JavaElementType.REFERENCE_EXPRESSION) {
+ JavaResolveResult[] variable = null;
JavaResolveResult[] result = resolveToVariable(containingFile);
- if (result.length == 1 && result[0].isAccessible()) {
- return result;
+ if (result.length == 1) {
+ if (result[0].isAccessible()) {
+ return result;
+ }
+ variable = result;
}
PsiElement classNameElement = getReferenceNameElement();
@@ -260,7 +264,7 @@ public class PsiReferenceExpressionImpl extends PsiReferenceExpressionBase imple
result = resolveToPackage(containingFile);
}
- return result;
+ return result.length == 0 && variable != null ? variable : result;
}
if (parentType == JavaElementType.METHOD_CALL_EXPRESSION) {
diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting/PrivateFieldInSuperClass.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting/PrivateFieldInSuperClass.java
index 772288631436..7d1894cd6f3b 100644
--- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting/PrivateFieldInSuperClass.java
+++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting/PrivateFieldInSuperClass.java
@@ -4,7 +4,7 @@ class C {
class A extends C {
{
- id.MyObject.fromInt(1);
+ id.MyObject.fromInt(1);
id.MyObject o;
}