Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/LearningAction.java =================================================================== diff -u -r1b565d87beccff1a25d22f88f940fcdb1332900b -r983457676282711e2611198191ea9f3ba9812257 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/LearningAction.java (.../LearningAction.java) (revision 1b565d87beccff1a25d22f88f940fcdb1332900b) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/LearningAction.java (.../LearningAction.java) (revision 983457676282711e2611198191ea9f3ba9812257) @@ -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;