diff --git a/src/org/geometerplus/fbreader/book/BookCollection.java b/src/org/geometerplus/fbreader/book/BookCollection.java index 4834a1990..ff7ca260a 100644 --- a/src/org/geometerplus/fbreader/book/BookCollection.java +++ b/src/org/geometerplus/fbreader/book/BookCollection.java @@ -210,9 +210,12 @@ public class BookCollection extends AbstractBookCollection { allBooks = new ArrayList(myBooksByFile.values()); } final int start = query.Page * query.Limit; + if (start >= allBooks.size()) { + return Collections.emptyList(); + } final int end = start + query.Limit; if (query.Filter instanceof Filter.Empty) { - return allBooks.subList(start, end); + return allBooks.subList(start, Math.min(end, allBooks.size())); } else { int count = 0; final List filtered = new ArrayList(query.Limit);