Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java =================================================================== diff -u -rd411f14ac0e5cf4b3c477df36a2cae4b77cb84c1 -rc12ef34b74427fd41096a64cb5a8ce44f87eeda2 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java (.../AssessmentServiceImpl.java) (revision d411f14ac0e5cf4b3c477df36a2cae4b77cb84c1) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java (.../AssessmentServiceImpl.java) (revision c12ef34b74427fd41096a64cb5a8ce44f87eeda2) @@ -135,6 +135,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.LinkedHashMap; +import java.util.LinkedHashSet; import java.util.LinkedList; import java.util.List; import java.util.Locale; @@ -1474,13 +1475,14 @@ Set questionResults = lastFinishedResult.getQuestionResults(); //prepare list of the questions to display in user master detail table, filtering out questions that aren't supposed to be answered - SortedSet questionResultsToDisplay = new TreeSet<>(); + Set questionResultsToDisplay; //in case there is at least one random question - we need to show all questions if (assessment.hasRandomQuestion()) { - questionResultsToDisplay.addAll(questionResults); + questionResultsToDisplay = new TreeSet<>(questionResults); //otherwise show only questions from the question list } else { + questionResultsToDisplay = new LinkedHashSet<>(); for (QuestionReference reference : questionReferences) { for (AssessmentQuestionResult questionResult : questionResults) { if (reference.getQuestion().getUid().equals(questionResult.getQbToolQuestion().getUid())) {