diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/VariableResolverProcessor.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/VariableResolverProcessor.java
index 08ac99c51ea5..73db34cf8ce1 100644
--- a/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/VariableResolverProcessor.java
+++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/VariableResolverProcessor.java
@@ -83,7 +83,7 @@ public class VariableResolverProcessor extends ConflictFilterProcessor implement
public void add(@NotNull PsiElement element, @NotNull PsiSubstitutor substitutor) {
final boolean staticProblem = myStaticScopeFlag &&
!((PsiModifierListOwner)element).hasModifierProperty(PsiModifier.STATIC) &&
- !(element instanceof PsiVariable && PsiUtil.isCompileTimeConstant((PsiVariable)element));
+ (element instanceof PsiField || !(element instanceof PsiVariable && PsiUtil.isCompileTimeConstant((PsiVariable)element)));
add(new CandidateInfo(element, substitutor, myPlace, myAccessClass, staticProblem, myCurrentFileContext));
}
diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting6/CompileTypeConstantsAccessibleFromStaticFieldInitializers.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting6/CompileTypeConstantsAccessibleFromStaticFieldInitializers.java
index d5b9938bc4f1..b8f3b9655c30 100644
--- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting6/CompileTypeConstantsAccessibleFromStaticFieldInitializers.java
+++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting6/CompileTypeConstantsAccessibleFromStaticFieldInitializers.java
@@ -7,4 +7,15 @@ class Test {
static final Object j = o;
}
}
+
+ private final String a = "A";
+ static void foo() {
+ System.out.println(a);
+ }
+
+ void f() {
+ class A4 {
+ static final String t = a;
+ }
+ }
}
\ No newline at end of file