Index: src/java/org/apache/lucene/index/IndexWriter.java =================================================================== --- src/java/org/apache/lucene/index/IndexWriter.java (revision 791560) +++ 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; + SRMapValue mv = (SRMapValue)ent.getValue(); + synchronized (mv) { + if (mv.reader != null) { + mv.reader.hasChanges = false; + } + } } } else { final int numSegments = infos.size(); for(int i=0;i 0)