Index: src/java/org/apache/lucene/index/IndexWriter.java =================================================================== --- src/java/org/apache/lucene/index/IndexWriter.java (revision 789987) +++ src/java/org/apache/lucene/index/IndexWriter.java (working copy) @@ -462,16 +462,26 @@ Iterator iter = readerMap.entrySet().iterator(); while (iter.hasNext()) { Map.Entry ent = (Map.Entry) iter.next(); - ((SegmentReader) ent.getValue()).hasChanges = false; + MapValue mv = (MapValue)ent.getValue(); + synchronized (mv) { + if (mv.value != null) { + ((SegmentReader) mv.value).hasChanges = false; + } + } } } else { final int numSegments = infos.size(); for(int i=0;i 0)