Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java =================================================================== diff -u -r5c770157545dea3dbc72e22a1dd1107c56cf22eb -r9c5964cc6b8152e9ddb6651e900b7b74f0a4e110 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java (.../AssessmentServiceImpl.java) (revision 5c770157545dea3dbc72e22a1dd1107c56cf22eb) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java (.../AssessmentServiceImpl.java) (revision 9c5964cc6b8152e9ddb6651e900b7b74f0a4e110) @@ -902,9 +902,18 @@ @Override public AssessmentResult getLastFinishedAssessmentResultNotFromChache(Long assessmentUid, Long userId) { - AssessmentResult result = getLastFinishedAssessmentResult(assessmentUid, userId); - assessmentQuestionDao.evict(result); - return getLastFinishedAssessmentResult(assessmentUid, userId); + AssessmentResult finishedResult = getLastFinishedAssessmentResult(assessmentUid, userId); + + //in case user played tricks with accessing Assessment using two tabs, finishedResult can be null and thus we need to request the last *not finished* result + if (finishedResult == null) { + AssessmentResult notFinishedResult = getLastAssessmentResult(assessmentUid, userId); + assessmentQuestionDao.evict(notFinishedResult); + return getLastAssessmentResult(assessmentUid, userId); + + } else { + assessmentQuestionDao.evict(finishedResult); + return getLastFinishedAssessmentResult(assessmentUid, userId); + } } @Override Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/LearningAction.java =================================================================== diff -u -rfeb6062a5128a445b1fa0095b8c9d6cf232af90f -r9c5964cc6b8152e9ddb6651e900b7b74f0a4e110 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/LearningAction.java (.../LearningAction.java) (revision feb6062a5128a445b1fa0095b8c9d6cf232af90f) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/LearningAction.java (.../LearningAction.java) (revision 9c5964cc6b8152e9ddb6651e900b7b74f0a4e110) @@ -1131,7 +1131,7 @@ } } - Date timeTaken = new Date(result.getFinishDate().getTime() - result.getStartDate().getTime()); + Date timeTaken = result.getFinishDate() == null ? new Date(0) : new Date(result.getFinishDate().getTime() - result.getStartDate().getTime()); result.setTimeTaken(timeTaken); if (assessment.isAllowOverallFeedbackAfterQuestion()) { int percentageCorrectAnswers = (int) (result.getGrade() * 100 / result.getMaximumGrade());