Index: jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/InternalVersionHistoryImpl.java =================================================================== --- jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/InternalVersionHistoryImpl.java (revision 1787004) +++ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/InternalVersionHistoryImpl.java (working copy) @@ -167,7 +167,7 @@ // fix legacy private void fixLegacy() throws RepositoryException { if (rootVersion.getSuccessors().isEmpty()) { - for (Name versionName : nameCache.keySet()) { + for (Name versionName : getVersionNames()) { InternalVersionImpl v = createVersionInstance(versionName); v.legacyResolveSuccessors(); } Index: jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/InternalVersionImpl.java =================================================================== --- jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/InternalVersionImpl.java (revision 1787004) +++ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/InternalVersionImpl.java (working copy) @@ -441,7 +441,10 @@ for (InternalValue value : values) { InternalVersionImpl v = (InternalVersionImpl) versionHistory.getVersion(value.getNodeId()); - v.internalAddSuccessor(this, false); + // version may be null if history is broken + if (v != null) { + v.internalAddSuccessor(this, false); + } } } }