Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java =================================================================== diff -u -rf653fb3f6e855e0c8190b0911df51673814b65a9 -r97e51b5fbdba25efaa0760489aca191ba14b14d7 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision f653fb3f6e855e0c8190b0911df51673814b65a9) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision 97e51b5fbdba25efaa0760489aca191ba14b14d7) @@ -1619,8 +1619,10 @@ learnerProgressDAO.updateLearnerProgress(learnerProgress); User learner = learnerProgress.getUser(); - for (Activity groupingActivity : groupings) { - Grouping grouping = ((GroupingActivity) groupingActivity).getCreateGrouping(); + for (Activity activity : groupings) { + // fetch real object, otherwise there is a cast error + GroupingActivity groupingActivity = (GroupingActivity) getActivityById(activity.getActivityId()); + Grouping grouping = groupingActivity.getCreateGrouping(); if (grouping.doesLearnerExist(learner)) { // cancel existing grouping, so the learner has a chance to be grouped again Group group = grouping.getGroupBy(learner);