Index: lams_common/src/java/org/lamsfoundation/lams/tool/service/LamsToolService.java =================================================================== diff -u -r6cb043085b0ff20f830c077e00ef63cbc37154e0 -ra3ece092184f245ef3b431e0bb30b2805d94a2e2 --- lams_common/src/java/org/lamsfoundation/lams/tool/service/LamsToolService.java (.../LamsToolService.java) (revision 6cb043085b0ff20f830c077e00ef63cbc37154e0) +++ lams_common/src/java/org/lamsfoundation/lams/tool/service/LamsToolService.java (.../LamsToolService.java) (revision a3ece092184f245ef3b431e0bb30b2805d94a2e2) @@ -157,21 +157,24 @@ ToolSession toolSession = this.getToolSession(toolSessionId); ToolActivity specifiedActivity = toolSession.getToolActivity(); - Activity leaderSelectionActivity = getNearestLeaderSelectionActivity(specifiedActivity, learnerId, toolSession.getLesson().getLessonId()); + Activity leaderSelectionActivity = getNearestLeaderSelectionActivity(specifiedActivity, learnerId, + toolSession.getLesson().getLessonId()); // check if there is leaderSelectionTool available if (leaderSelectionActivity != null) { User learner = (User) toolContentDAO.find(User.class, learnerId); String outputName = LEADER_SELECTION_TOOL_OUTPUT_NAME_LEADER_USERID; ToolSession leaderSelectionSession = toolSessionDAO.getToolSessionByLearner(learner, leaderSelectionActivity); + if (leaderSelectionSession != null) { ToolOutput output = lamsCoreToolService.getOutputFromTool(outputName, leaderSelectionSession, null); // check if tool produced output if (output != null && output.getValue() != null) { leaderUserId = output.getValue().getLong(); } } + } return leaderUserId; }