Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/LearningAction.java =================================================================== diff -u -r176ee597a35dd2bdf71e49889e6291051e260a29 -rc4ba1adbce3310b8b6da67d95a03738d756687ba --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/LearningAction.java (.../LearningAction.java) (revision 176ee597a35dd2bdf71e49889e6291051e260a29) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/LearningAction.java (.../LearningAction.java) (revision c4ba1adbce3310b8b6da67d95a03738d756687ba) @@ -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;