Index: lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java =================================================================== RCS file: /usr/local/cvsroot/lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java,v diff -u -r1.111 -r1.112 --- lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java 22 Apr 2014 19:44:42 -0000 1.111 +++ lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java 22 Jul 2014 08:55:00 -0000 1.112 @@ -1511,14 +1511,16 @@ Lesson lesson = getLessonByActivity(activity); LearnerProgress learnerProgress = getProgress(learnerId, lesson.getLessonId()); - int completedSubactivities = 0; - for (Activity subactivity : (Set) parentOptionsActivity.getActivities()) { - if (LearnerProgress.ACTIVITY_COMPLETED == learnerProgress.getProgressState(subactivity)) { - completedSubactivities++; + if (learnerProgress != null) { + int completedSubactivities = 0; + for (Activity subactivity : (Set) parentOptionsActivity.getActivities()) { + if (LearnerProgress.ACTIVITY_COMPLETED == learnerProgress.getProgressState(subactivity)) { + completedSubactivities++; + } } - } - isLast = completedSubactivities == parentOptionsActivity.getMaxNumberOfOptionsNotNull() - 1; + isLast = completedSubactivities == parentOptionsActivity.getMaxNumberOfOptionsNotNull() - 1; + } } } else if (parentActivity.isBranchingActivity() || parentActivity.isParallelActivity()) { isLast = parentPosition.getLast() && isActivityLast(activity);