Index: C:/Home/jstuyts/dev/wsp/hippo/Lucene/src/java/org/apache/lucene/search/ConjunctionScorer.java =================================================================== --- C:/Home/jstuyts/dev/wsp/hippo/Lucene/src/java/org/apache/lucene/search/ConjunctionScorer.java (revision 425666) +++ C:/Home/jstuyts/dev/wsp/hippo/Lucene/src/java/org/apache/lucene/search/ConjunctionScorer.java (working copy) @@ -52,9 +52,13 @@ } private boolean doNext() throws IOException { - while (more && first().doc() < last().doc()) { // find doc w/ all clauses - more = first().skipTo(last().doc()); // skip first upto last + Scorer firstScorer = first(); + int lastDoc = last().doc(); + while (more && firstScorer.doc() < lastDoc) { // find doc w/ all clauses + more = firstScorer.skipTo(lastDoc); // skip first upto last scorers.addLast(scorers.removeFirst()); // move first to last + firstScorer = first(); + lastDoc = last().doc(); } return more; // found a doc with all clauses }