diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/Database.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/Database.java index 7650c895db4..8177c6b4b94 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/Database.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/Database.java @@ -277,8 +277,10 @@ public class Database { Chunk chunk= fChunks[index]; if (chunk == null) { cacheMisses++; - chunk = fChunks[index] = new Chunk(this, index); + chunk = new Chunk(this, index); chunk.read(); + // Put the chunk in fChunks after it was read successfully. + fChunks[index] = chunk; } else { cacheHits++; }