Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/LearningAction.java,v diff -u -r1.57 -r1.58 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/LearningAction.java 18 Jul 2016 16:15:11 -0000 1.57 +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/LearningAction.java 27 Jul 2016 10:47:10 -0000 1.58 @@ -1048,9 +1048,9 @@ question.setPenalty(questionResult.getPenalty()); for (AssessmentQuestionOption option : question.getOptions()) { + for (AssessmentOptionAnswer optionAnswer : questionResult.getOptionAnswers()) { if (option.getUid().equals(optionAnswer.getOptionUid())) { - option.setAnswerBoolean(optionAnswer.getAnswerBoolean()); option.setAnswerInt(optionAnswer.getAnswerInt()); break; @@ -1060,10 +1060,21 @@ //sort ordering type of question in order to show how learner has sorted them if (question.getType() == AssessmentConstants.QUESTION_TYPE_ORDERING) { - TreeSet orderedSet = new TreeSet( - new AnswerIntComparator()); - orderedSet.addAll(question.getOptions()); - question.setOptions(orderedSet); + + //don't sort ordering type of questions that haven't been submitted to not break their shuffled order + boolean isOptionAnswersNeverSubmitted = true; + for (AssessmentQuestionOption option : question.getOptions()) { + if (option.getAnswerInt() != 0) { + isOptionAnswersNeverSubmitted = false; + } + } + + if (!isOptionAnswersNeverSubmitted) { + TreeSet orderedSet = new TreeSet( + new AnswerIntComparator()); + orderedSet.addAll(question.getOptions()); + question.setOptions(orderedSet); + } } break;