diff --git a/platform/core-impl/src/com/intellij/psi/stubs/ObjectStubTree.java b/platform/core-impl/src/com/intellij/psi/stubs/ObjectStubTree.java index 749d96344473..61d7d8b061cc 100644 --- a/platform/core-impl/src/com/intellij/psi/stubs/ObjectStubTree.java +++ b/platform/core-impl/src/com/intellij/psi/stubs/ObjectStubTree.java @@ -124,6 +124,10 @@ public class ObjectStubTree { } else { int lastZero; for(lastZero = list.length - 1; lastZero >=0 && list[lastZero] == 0; --lastZero); + if (list[lastZero] == myStubIdx) { + // second and subsequent occurrence calls for the same value are no op + return; + } ++lastZero; if (lastZero == list.length) {