diff --git a/src/main/java/de/thm/arsnova/services/QuestionService.java b/src/main/java/de/thm/arsnova/services/QuestionService.java
index ffd40cbe261a455c77823ccf1a44bb08f46c670c..c7ad6f16a272466b4470de435a4e6312b33617ec 100644
--- a/src/main/java/de/thm/arsnova/services/QuestionService.java
+++ b/src/main/java/de/thm/arsnova/services/QuestionService.java
@@ -211,8 +211,8 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis
 		if (session == null) {
 			throw new UnauthorizedException();
 		}
-		databaseDao.deleteQuestionWithAnswers(question);
 		deleteQuestionFromSortOrder(question);
+		databaseDao.deleteQuestionWithAnswers(question);
 
 		final DeleteQuestionEvent event = new DeleteQuestionEvent(this, session);
 		this.publisher.publishEvent(event);
@@ -904,7 +904,8 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis
 	public void deleteQuestionFromSortOrder(Question question){
 		SortOrder sortOrder = databaseDao.getSortOrder(question.getSessionId(), question.getQuestionVariant(), question.getSubject());
 		if (sortOrder != null) {
-			sortOrder.getSortOrder().remove(question.get_id());
+			List<String> tempSortOrder = sortOrder.getSortOrder().remove(question.get_id());
+			sortOrder.setSortOrder(tempSortOrder);
 			if (sortOrder.getSortOrder().isEmpty()) {
 				databaseDao.deleteSortOrder(sortOrder);
 				SortOrder subjectSortOrder = databaseDao.getSortOrder(sortOrder.getSessionId(), sortOrder.getQuestionVariant(), "");