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.112.2.20 -r1.112.2.21 --- lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java 15 Feb 2017 05:06:26 -0000 1.112.2.20 +++ lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java 7 Mar 2017 10:05:38 -0000 1.112.2.21 @@ -61,6 +61,7 @@ import org.lamsfoundation.lams.learningdesign.GroupingActivity; import org.lamsfoundation.lams.learningdesign.LearnerChoiceGrouper; import org.lamsfoundation.lams.learningdesign.LearnerChoiceGrouping; +import org.lamsfoundation.lams.learningdesign.LearningDesign; import org.lamsfoundation.lams.learningdesign.OptionsActivity; import org.lamsfoundation.lams.learningdesign.SequenceActivity; import org.lamsfoundation.lams.learningdesign.ToolActivity; @@ -354,8 +355,10 @@ public void createToolSessionsIfNecessary(Activity activity, LearnerProgress learnerProgress) { try { if ((activity != null) && activity.isToolActivity()) { - lamsCoreToolService.createToolSession(learnerProgress.getUser(), (ToolActivity) activity, - learnerProgress.getLesson()); + // make sure that the lesson corresponds to the activity + LearningDesign learningDesign = activity.getLearningDesign(); + Lesson lesson = (Lesson) learningDesign.getLessons().iterator().next(); + lamsCoreToolService.createToolSession(learnerProgress.getUser(), (ToolActivity) activity, lesson); } } catch (RequiredGroupMissingException e) { LearnerService.log.warn("error occurred in 'createToolSessionFor':" + e.getMessage());