diff --git a/src/main/java/de/thm/arsnova/services/QuestionService.java b/src/main/java/de/thm/arsnova/services/QuestionService.java
index 1765b3d0cbec1643d89f5f70c9b17914253594ea..aaaea9b49d7894b92759ce2d79fdbd0da4c7fff1 100644
--- a/src/main/java/de/thm/arsnova/services/QuestionService.java
+++ b/src/main/java/de/thm/arsnova/services/QuestionService.java
@@ -917,6 +917,12 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis
 				if (subjectSortOrder.getSortOrder().isEmpty()) {
 					databaseDao.deleteSortOrder(subjectSortOrder);
 				}
+				else {
+					databaseDao.createOrUpdateSortOrder(sortOrder);
+				}
+			}
+			else {
+				databaseDao.createOrUpdateSortOrder(sortOrder);
 			}
 		}
 	}
@@ -947,13 +953,13 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis
 		for (String sub : subjects) {
 			SortOrder questionSortOrder = databaseDao.getSortOrder(subjectSortOrder.getSessionId(), subjectSortOrder.getQuestionVariant(), sub);
 			if (questionSortOrder == null) {
-				break;
+				continue;
 			}
 			List<String> questionIds = questionSortOrder.getSortOrder();
 			for (String t : questionIds) {
 				Question tempQuestion = getQuestion(t);
 				if (tempQuestion == null) {
-					break;
+					continue;
 				}
 				if (onlyActive) {
 					if (tempQuestion.isActive()) {