diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/JavaResolveCache.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/JavaResolveCache.java index 613ea66a6794..e4bca75a0eb0 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/JavaResolveCache.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/JavaResolveCache.java @@ -96,7 +96,8 @@ public class JavaResolveCache { SoftReference ref = new SoftReference(type); Reference storedRef = ConcurrencyUtil.cacheOrGet(myCalculatedTypes, expr, ref); - type = storedRef.get(); + PsiType stored = storedRef.get(); + type = stored == null ? type : stored; } if (!type.isValid()) {