Index: src/java/org/apache/lucene/search/payloads/MinPayloadFunction.java =================================================================== --- src/java/org/apache/lucene/search/payloads/MinPayloadFunction.java (revision 909353) +++ src/java/org/apache/lucene/search/payloads/MinPayloadFunction.java (working copy) @@ -23,9 +23,13 @@ **/ public class MinPayloadFunction extends PayloadFunction { - @Override - public float currentScore(int docId, String field, int start, int end, int numPayloadsSeen, float currentScore, float currentPayloadScore) { - return Math.min(currentPayloadScore, currentScore); + @Override + public float currentScore(int docId, String field, int start, int end, int numPayloadsSeen, float currentScore, float currentPayloadScore) { + if (numPayloadsSeen == 0) { + return currentPayloadScore; + } else { + return Math.min(currentPayloadScore, currentScore); + } } @Override Index: src/java/org/apache/lucene/search/payloads/MaxPayloadFunction.java =================================================================== --- src/java/org/apache/lucene/search/payloads/MaxPayloadFunction.java (revision 909353) +++ src/java/org/apache/lucene/search/payloads/MaxPayloadFunction.java (working copy) @@ -27,7 +27,11 @@ public class MaxPayloadFunction extends PayloadFunction { @Override public float currentScore(int docId, String field, int start, int end, int numPayloadsSeen, float currentScore, float currentPayloadScore) { - return Math.max(currentPayloadScore, currentScore); + if (numPayloadsSeen == 0) { + return currentPayloadScore; + } else { + return Math.max(currentPayloadScore, currentScore); + } } @Override