Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java =================================================================== diff -u -r18e768db89ac085de499f22cc961bed9a5785581 -rdf0f027b7be924b18e67ae36248b7deada2e6f2d --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java (.../MonitoringAction.java) (revision 18e768db89ac085de499f22cc961bed9a5785581) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java (.../MonitoringAction.java) (revision df0f027b7be924b18e67ae36248b7deada2e6f2d) @@ -1178,8 +1178,8 @@ } // batch size is 10 - int fromIndex = (pageNumber - 1) * 10; int toIndex = Math.min(pageNumber * 10, learnerProgresses.size()); + int fromIndex = Math.min((pageNumber - 1) * 10, Math.max(toIndex - 10, 0)); // get just the requested chunk for (LearnerProgress learnerProgress : learnerProgresses.subList(fromIndex, toIndex)) { responseJSON.append("learners", MonitoringAction.userToJSON(learnerProgress.getUser()));