Index: lucene/src/java/org/apache/lucene/index/SegmentReader.java =================================================================== --- lucene/src/java/org/apache/lucene/index/SegmentReader.java (revision 1238775) +++ lucene/src/java/org/apache/lucene/index/SegmentReader.java (working copy) @@ -114,6 +114,7 @@ @Override public FieldInfos getFieldInfos() { + ensureOpen(); return core.fieldInfos; } Index: lucene/src/java/org/apache/lucene/index/SlowCompositeReaderWrapper.java =================================================================== --- lucene/src/java/org/apache/lucene/index/SlowCompositeReaderWrapper.java (revision 1238775) +++ lucene/src/java/org/apache/lucene/index/SlowCompositeReaderWrapper.java (working copy) @@ -85,6 +85,7 @@ @Override public Fields fields() throws IOException { ensureOpen(); + in.ensureOpen(); // as we cached the fields, we better check the original reader return fields; } @@ -133,6 +134,7 @@ @Override public Bits getLiveDocs() { ensureOpen(); + in.ensureOpen(); // as we cached the liveDocs, we better check the original reader return liveDocs; } @@ -145,6 +147,7 @@ @Override public boolean hasDeletions() { ensureOpen(); + in.ensureOpen(); // as we cached the liveDocs, we better check the original reader return liveDocs != null; }