Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/hibernate/AssessmentQuestionResultDAOHibernate.java =================================================================== diff -u -re8a7110708b15579af2c6b31ac52a6da427fef6d -r18b228bd194ec58143b063ea9e0329c5ed12c276 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/hibernate/AssessmentQuestionResultDAOHibernate.java (.../AssessmentQuestionResultDAOHibernate.java) (revision e8a7110708b15579af2c6b31ac52a6da427fef6d) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/hibernate/AssessmentQuestionResultDAOHibernate.java (.../AssessmentQuestionResultDAOHibernate.java) (revision 18b228bd194ec58143b063ea9e0329c5ed12c276) @@ -82,7 +82,7 @@ @Override public List getQuestionResultsByQuestionUid(final Long questionUid) { String FIND_BY_QUESTION_UID = "FROM " + AssessmentQuestionResult.class.getName() - + " AS queRes " + " WHERE queRes.qbToolQuestion.uid =:questionUid ORDER BY queRes.finishDate ASC"; + + " AS queRes " + " WHERE queRes.qbToolQuestion.uid =:questionUid AND queRes.finishDate != null ORDER BY queRes.finishDate ASC"; Query q = getSession().createQuery(FIND_BY_QUESTION_UID, AssessmentQuestionResult.class); q.setParameter("questionUid", questionUid); Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java =================================================================== diff -u -r9091ed8c9bae9a48f88622c0c5031af2a39772dc -r18b228bd194ec58143b063ea9e0329c5ed12c276 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java (.../AssessmentServiceImpl.java) (revision 9091ed8c9bae9a48f88622c0c5031af2a39772dc) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java (.../AssessmentServiceImpl.java) (revision 18b228bd194ec58143b063ea9e0329c5ed12c276) @@ -1362,12 +1362,15 @@ List notAllocatedQuestionResults = new ArrayList<>(); for (AssessmentQuestionResult questionResult : allQuestionResults) { String answer = questionResult.getAnswer(); + if (StringUtils.isBlank(answer)) { + continue; + } boolean isAnswerAllocated = false; for (QbOption option : qbQuestion.getQbOptions()) { String[] alternatives = option.getName().split("\r\n"); for (String alternative : alternatives) { - if (answer != null && alternative.equals(answer)) { + if (alternative.equals(answer)) { isAnswerAllocated = true; break; }