diff --git a/src/main/java/de/thm/arsnova/controller/LecturerQuestionController.java b/src/main/java/de/thm/arsnova/controller/LecturerQuestionController.java
index 1e50661e772406c8e986bb7540e7a1ceb700483d..d1b45532b128fa826a997bf216f8556b7a993b0d 100644
--- a/src/main/java/de/thm/arsnova/controller/LecturerQuestionController.java
+++ b/src/main/java/de/thm/arsnova/controller/LecturerQuestionController.java
@@ -627,54 +627,4 @@ public class LecturerQuestionController extends PaginationController {
 			return questionService.getTotalAnswerCount(sessionkey);
 		}
 	}
-
-	@RequestMapping(value = "/subjectsort", method = RequestMethod.POST)
-	public void setSubjectSortOrder(
-			@RequestParam(required = true) final String sessionkey,
-			@RequestParam(required = true) final String sorttype,
-			@RequestParam(required = true) final String ispreparation,
-			@RequestBody String[] sortOrder
-			) {
-		try {
-			questionService.setSort(sessionkey, "", sorttype, ispreparation, sortOrder);
-		} catch (final Exception e) {
-			throw new BadRequestException();
-		}
-	}
-
-	@RequestMapping(value = "/subjectsort", method = RequestMethod.GET)
-	public String getSubjectSortType(
-			@RequestParam(required = true) final String sessionkey,
-			@RequestParam(required = true) final String ispreparation
-			) {
-		return questionService.getSubjectSortType(sessionkey, ispreparation);
-	}
-
-	@RequestMapping(value = "/questionsort", method = RequestMethod.POST)
-	public void setQuestionSortOrder(
-			@RequestParam(required = true) final String sessionkey,
-			@RequestParam(required = true) final String subject,
-			@RequestParam(required = true) final String sorttype,
-			@RequestParam(required = true) final String ispreparation,
-			@RequestBody String[] sortOrder
-			) {
-		try {
-			questionService.setSort(sessionkey, subject, sorttype, ispreparation, sortOrder);
-		} catch (final Exception e) {
-			throw new BadRequestException();
-		}
-	}
-
-	@RequestMapping(value = "/questionsort", method = RequestMethod.GET)
-	public String getQuestionSortType(
-			@RequestParam(required = true) final String sessionkey,
-			@RequestParam(required = true) final String subject,
-			@RequestParam(required = true, defaultValue = "false") final boolean ispreparation
-			) {
-		String sortType = questionService.getQuestionSortType(sessionkey, ispreparation, subject);
-		if (sortType == null) {
-			throw new NoContentException();
-		}
-		return sortType;
-	}
 }
diff --git a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
index 713731b8a4c8bd2f2949ac2ee28ba1c352a7d213..875b999c37a97d50ad1ec54f6769be7f6bc85a16 100644
--- a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
+++ b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
@@ -36,7 +36,6 @@ import de.thm.arsnova.entities.PossibleAnswer;
 import de.thm.arsnova.entities.Question;
 import de.thm.arsnova.entities.Session;
 import de.thm.arsnova.entities.SessionInfo;
-import de.thm.arsnova.entities.SortOrder;
 import de.thm.arsnova.entities.Statistics;
 import de.thm.arsnova.entities.User;
 import de.thm.arsnova.entities.VisitedSession;
@@ -2418,91 +2417,6 @@ public class CouchDBDao implements IDatabaseDao, ApplicationEventPublisherAware
 		return qids;
 	}
 
-	@Cacheable(value = "sortorder", key = "#p0.concat('-').concat(#p1).concat('-').concat(#p2)")
-	@Override
-	public SortOrder getSortOrder(String sessionId, String questionVariant, String subject) {
-		String viewString = "";
-		if ("preparation".equals(questionVariant)) {
-			viewString = "sort_order/preparation_question_sort_order_by_sessionid_and_subject";
-		} else if ("lecture".equals(questionVariant)) {
-			viewString = "sort_order/lecture_question_sort_order_by_sessionid_and_subject";
-		} else if ("flashcard".equals(questionVariant)) {
-			return null;
-		}
-
-		NovaView view = new NovaView(viewString);
-		view.setKey(sessionId, subject);
-
-		ViewResults results = this.getDatabase().view(view);
-
-		if (isEmptyResults(results)) {
-			return null;
-		}
-
-		SortOrder sortOrder = new SortOrder();
-
-		for (final Document d : results.getResults()) {
-			sortOrder.set_id(d.getJSONObject("value").getString("_id"));
-			sortOrder.set_rev(d.getJSONObject("value").getString("_rev"));
-			sortOrder.setSessionId(d.getJSONObject("value").getString("sessionId"));
-			sortOrder.setSubject(d.getJSONObject("value").getString("subject"));
-			sortOrder.setSortType(d.getJSONObject("value").getString("sortType"));
-			sortOrder.setQuestionVariant(d.getJSONObject("value").getString("questionVariant"));
-			List<String> sort = new ArrayList<String>();
-			JSONArray json = d.getJSONObject("value").getJSONArray("sortOrder");
-			int len = json.size();
-			for (int i = 0; i < len; i++) {
-				sort.add(json.getString(i));
-			}
-			sortOrder.setSortOrder(sort);
-		}
-
-		return sortOrder;
-	}
-
-	@CachePut(value = "sortorder", key = "#sortOrder.sessionId.concat('-').concat(#sortOrder.questionVariant).concat('-').concat(#sortOrder.subject)")
-	@Override
-	public SortOrder createOrUpdateSortOrder(SortOrder sortOrder) {
-		try {
-			SortOrder oldSortOrder = getDatabaseDao().getSortOrder(sortOrder.getSessionId(), sortOrder.getQuestionVariant(), sortOrder.getSubject());
-			Document d = new Document();
-
-			String id = "";
-			String rev = "";
-			if (oldSortOrder != null) {
-				id = oldSortOrder.get_id();
-				rev = oldSortOrder.get_rev();
-				d = database.getDocument(id, rev);
-			}
-
-			d.put("type", "sort_order");
-			d.put("sessionId", sortOrder.getSessionId());
-			d.put("sortType", sortOrder.getSortType());
-			d.put("questionVariant", sortOrder.getQuestionVariant());
-			d.put("subject", sortOrder.getSubject());
-			d.put("sortOrder", sortOrder.getSortOrder());
-
-			database.saveDocument(d, id);
-			sortOrder.set_id(d.getId());
-			sortOrder.set_rev(d.getRev());
-
-			return sortOrder;
-		} catch (IOException e) {
-			LOGGER.error("Could not save sort {}", sortOrder);
-		}
-		return null;
-	}
-
-	@CacheEvict(value = "sortorder", key = "#sortOrder.sessionId.concat('-').concat(#sortOrder.questionVariant).concat('-').concat(#sortOrder.subject)")
-	@Override
-	public void deleteSortOrder(SortOrder sortOrder) {
-		try {
-			this.deleteDocument(sortOrder.get_id());
-		} catch (IOException e) {
-			LOGGER.error("Could not delete SortOrder {}", sortOrder.get_id());
-		}
-	}
-
 	@Override
 	public List<Question> getQuestionsByIds(List<String> ids, final Session session) {
 		NovaView view = new NovaView("_all_docs");
diff --git a/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java b/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java
index 378d6ae62393fcea679eee68da4879f51c591ae1..f5d2d2fb6af9bc0041e163a0586213cceb06a4d4 100644
--- a/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java
+++ b/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java
@@ -29,7 +29,6 @@ import de.thm.arsnova.entities.MotdList;
 import de.thm.arsnova.entities.Question;
 import de.thm.arsnova.entities.Session;
 import de.thm.arsnova.entities.SessionInfo;
-import de.thm.arsnova.entities.SortOrder;
 import de.thm.arsnova.entities.Statistics;
 import de.thm.arsnova.entities.User;
 import de.thm.arsnova.entities.transport.ImportExportSession;
@@ -221,12 +220,6 @@ public interface IDatabaseDao {
 
 	List<String> getQuestionIdsBySubject(Session session, String questionVariant, String subject);
 
-	SortOrder createOrUpdateSortOrder(SortOrder sortOrder);
-
-	SortOrder getSortOrder(String sessionId, String questionVariant, String subject);
-
-	void deleteSortOrder(SortOrder sortOrder);
-
 	List<Question> getQuestionsByIds(List<String> ids, Session session);
 
 	void resetQuestionsRoundState(Session session, List<Question> questions);
diff --git a/src/main/java/de/thm/arsnova/entities/SortOrder.java b/src/main/java/de/thm/arsnova/entities/SortOrder.java
deleted file mode 100644
index ce386b0da8a938b93df1b97337407a254695d5ab..0000000000000000000000000000000000000000
--- a/src/main/java/de/thm/arsnova/entities/SortOrder.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * This file is part of ARSnova Backend.
- * Copyright (C) 2012-2016 The ARSnova Team
- *
- * ARSnova Backend is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * ARSnova Backend is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.	 If not, see <http://www.gnu.org/licenses/>.
- */
-package de.thm.arsnova.entities;
-
-import java.util.List;
-
-/**
- * Defines how a question list should be sorted.
- */
-public class SortOrder {
-
-	private String sessionId;
-	private String sortType;
-	private String questionVariant;
-	private String subject;
-	private List<String> sortOrder;
-
-	private String _id;
-	private String _rev;
-
-	public void setSessionId(final String sessionId) {
-		this.sessionId = sessionId;
-	}
-
-	public String getSessionId() {
-		return this.sessionId;
-	}
-
-	public void setSortType(final String sortType) {
-		this.sortType = sortType;
-	}
-
-	public String getSortType() {
-		return this.sortType;
-	}
-
-	public void setQuestionVariant(final String questionVariant) {
-		this.questionVariant = questionVariant;
-	}
-
-	public String getQuestionVariant() {
-		return this.questionVariant;
-	}
-
-	public void setSubject(final String subject) {
-		this.subject = subject;
-	}
-
-	public String getSubject() {
-		return this.subject;
-	}
-
-	public void setSortOrder(final List<String> sortOrder) {
-		this.sortOrder = sortOrder;
-	}
-
-	public List<String> getSortOrder() {
-		return this.sortOrder;
-	}
-
-	public void set_id(final String id) {
-		_id = id;
-	}
-
-	public String get_id() {
-		return _id;
-	}
-
-	public void set_rev(final String rev) {
-		_rev = rev;
-	}
-
-	public String get_rev() {
-		return _rev;
-	}
-
-	@Override
-	public int hashCode() {
-		// auto-generated!
-		final int prime = 31;
-		int result = 1;
-		result = prime * result + ((questionVariant == null) ? 0 : questionVariant.hashCode());
-		result = prime * result + ((sessionId == null) ? 0 : sessionId.hashCode());
-		result = prime * result + ((subject == null) ? 0 : subject.hashCode());
-		return result;
-	}
-
-	@Override
-	public boolean equals(Object obj) {
-		// auto-generated!
-		if (this == obj) {
-			return true;
-		}
-		if (obj == null) {
-			return false;
-		}
-		if (getClass() != obj.getClass()) {
-			return false;
-		}
-		SortOrder other = (SortOrder) obj;
-		if (questionVariant == null) {
-			if (other.questionVariant != null) {
-				return false;
-			}
-		} else if (!questionVariant.equals(other.questionVariant)) {
-			return false;
-		}
-		if (sessionId == null) {
-			if (other.sessionId != null) {
-				return false;
-			}
-		} else if (!sessionId.equals(other.sessionId)) {
-			return false;
-		}
-		if (subject == null) {
-			if (other.subject != null) {
-				return false;
-			}
-		} else if (!subject.equals(other.subject)) {
-			return false;
-		}
-		return true;
-	}
-}
diff --git a/src/main/java/de/thm/arsnova/services/IQuestionService.java b/src/main/java/de/thm/arsnova/services/IQuestionService.java
index f0864314749967c9b0c15066a57aad42a5fc38f4..3567a2357b50bc930724a95594fd00a276cffe61 100644
--- a/src/main/java/de/thm/arsnova/services/IQuestionService.java
+++ b/src/main/java/de/thm/arsnova/services/IQuestionService.java
@@ -21,7 +21,6 @@ import de.thm.arsnova.entities.Answer;
 import de.thm.arsnova.entities.InterposedQuestion;
 import de.thm.arsnova.entities.InterposedReadingCount;
 import de.thm.arsnova.entities.Question;
-import de.thm.arsnova.entities.SortOrder;
 import de.thm.arsnova.entities.User;
 
 import java.util.List;
@@ -157,12 +156,6 @@ public interface IQuestionService {
 
 	String getImage(String questionId, String answerId);
 
-	String getSubjectSortType(String sessionkey, String isPreparation);
-
-	SortOrder setSort(String sessionkey, String subject, String sortType, String isPreparation, String[] sortOrder);
-
-	String getQuestionSortType(String sessionkey, boolean isPreparation, String subject);
-
 	void setVotingAdmission(String questionId, boolean disableVoting);
 
 	void setVotingAdmissions(String sessionkey, boolean disableVoting, List<Question> questions);
diff --git a/src/main/java/de/thm/arsnova/services/QuestionService.java b/src/main/java/de/thm/arsnova/services/QuestionService.java
index b00252ea59528e6345e776acb71411ee20d1938d..b0a310a07331cb2dccfc7e10cfcc6a872b3b50ea 100644
--- a/src/main/java/de/thm/arsnova/services/QuestionService.java
+++ b/src/main/java/de/thm/arsnova/services/QuestionService.java
@@ -24,7 +24,6 @@ import de.thm.arsnova.entities.InterposedQuestion;
 import de.thm.arsnova.entities.InterposedReadingCount;
 import de.thm.arsnova.entities.Question;
 import de.thm.arsnova.entities.Session;
-import de.thm.arsnova.entities.SortOrder;
 import de.thm.arsnova.entities.User;
 import de.thm.arsnova.events.*;
 import de.thm.arsnova.exceptions.BadRequestException;
@@ -123,27 +122,6 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis
 
 		final Question result = databaseDao.saveQuestion(session, question);
 
-		SortOrder subjectSortOrder = databaseDao.getSortOrder(session.get_id(), question.getQuestionVariant(), "");
-		if (subjectSortOrder != null) {
-			SortOrder questionSortOrder = databaseDao.getSortOrder(session.get_id(), question.getQuestionVariant(), question.getSubject());
-			if (questionSortOrder == null) {
-				List<String> s = new ArrayList<String>();
-				s.add(question.get_id());
-				SortOrder newQSortOrder = new SortOrder();
-				newQSortOrder.setSessionId(question.getSessionId());
-				newQSortOrder.setSubject(question.getSubject());
-				newQSortOrder.setSortType(subjectSortOrder.getSortType());
-				newQSortOrder.setQuestionVariant(subjectSortOrder.getQuestionVariant());
-				newQSortOrder.setSortOrder(s);
-				databaseDao.createOrUpdateSortOrder(newQSortOrder);
-				addToSortOrder(subjectSortOrder, question.getSubject());
-			} else {
-				addToSortOrder(questionSortOrder, question.get_id());
-			}
-		} else {
-			createSortOrder(session, question.getQuestionVariant(), "");
-		}
-
 		final NewQuestionEvent event = new NewQuestionEvent(this, session, result);
 		this.publisher.publishEvent(event);
 
@@ -191,7 +169,6 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis
 		if (session == null) {
 			throw new UnauthorizedException();
 		}
-		deleteQuestionFromSortOrder(question);
 		databaseDao.deleteQuestionWithAnswers(question);
 
 		final DeleteQuestionEvent event = new DeleteQuestionEvent(this, session, question);
@@ -692,31 +669,6 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis
 			final LockQuestionEvent event = new LockQuestionEvent(this, session, result);
 			this.publisher.publishEvent(event);
 		}
-
-		if (!oldQuestion.getSubject().equals(result.getSubject())) {
-			// Subject changed, question moved to another sort order document
-			deleteQuestionFromSortOrder(oldQuestion);
-		}
-		SortOrder subjectSortOrder = databaseDao.getSortOrder(session.get_id(), result.getQuestionVariant(), "");
-		if (subjectSortOrder != null) {
-			SortOrder questionSortOrder = databaseDao.getSortOrder(session.get_id(), result.getQuestionVariant(), result.getSubject());
-			if (questionSortOrder == null) {
-				List<String> order = new ArrayList<String>();
-				order.add(result.get_id());
-				SortOrder newQSortOrder = new SortOrder();
-				newQSortOrder.setSessionId(result.getSessionId());
-				newQSortOrder.setSubject(result.getSubject());
-				newQSortOrder.setSortType(subjectSortOrder.getSortType());
-				newQSortOrder.setQuestionVariant(subjectSortOrder.getQuestionVariant());
-				newQSortOrder.setSortOrder(order);
-				databaseDao.createOrUpdateSortOrder(newQSortOrder);
-				addToSortOrder(subjectSortOrder, result.getSubject());
-			} else {
-				addToSortOrder(questionSortOrder, result.get_id());
-			}
-		} else {
-			createSortOrder(session, result.getQuestionVariant(), "");
-		}
 		return result;
 	}
 
@@ -788,13 +740,6 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis
 	@PreAuthorize("isAuthenticated()")
 	public List<Question> getLectureQuestions(final String sessionkey) {
 		final Session session = getSession(sessionkey);
-		SortOrder subjectSortOrder = databaseDao.getSortOrder(session.get_id(), "lecture", "");
-		if (subjectSortOrder == null) {
-			subjectSortOrder = createSortOrder(session, "lecture", "");
-		}
-		if (subjectSortOrder == null) {
-			return null;
-		}
 		final User user = userService.getCurrentUser();
 		if (session.isCreator(user)) {
 			return databaseDao.getLectureQuestionsForTeachers(session);
@@ -819,13 +764,6 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis
 	@PreAuthorize("isAuthenticated()")
 	public List<Question> getPreparationQuestions(final String sessionkey) {
 		final Session session = getSession(sessionkey);
-		SortOrder subjectSortOrder = databaseDao.getSortOrder(session.get_id(), "preparation", "");
-		if (subjectSortOrder == null) {
-			subjectSortOrder = createSortOrder(session, "preparation", "");
-		}
-		if (subjectSortOrder == null) {
-			return null;
-		}
 		final User user = userService.getCurrentUser();
 		if (session.isCreator(user)) {
 			return databaseDao.getPreparationQuestionsForTeachers(session);
@@ -931,7 +869,6 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis
 	@PreAuthorize("isAuthenticated()")
 	public void deleteLectureQuestions(final String sessionkey) {
 		final Session session = getSessionWithAuthCheck(sessionkey);
-		this.deleteSortOrder(session, "lecture", "");
 		databaseDao.deleteAllLectureQuestionsWithAnswers(session);
 	}
 
@@ -946,7 +883,6 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis
 	@PreAuthorize("isAuthenticated()")
 	public void deletePreparationQuestions(final String sessionkey) {
 		final Session session = getSessionWithAuthCheck(sessionkey);
-		this.deleteSortOrder(session, "preparation", "");
 		databaseDao.deleteAllPreparationQuestionsWithAnswers(session);
 	}
 
@@ -1090,183 +1026,4 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis
 
 		return imageData;
 	}
-
-	@Override
-	public String getSubjectSortType(String sessionkey, String isPreparation) {
-		Session session = databaseDao.getSessionFromKeyword(sessionkey);
-		String questionVariant = "lecture";
-		if ("true".equals(isPreparation)) {
-			questionVariant = "preparation";
-		}
-		SortOrder sortOrder = databaseDao.getSortOrder(session.get_id(), questionVariant, "");
-		return sortOrder.getSortType();
-	}
-
-	@Override
-	public SortOrder setSort(String sessionkey, String subject, String sortType, String isPreparation, String[] sortOrderList) {
-		Session session = databaseDao.getSessionFromKeyword(sessionkey);
-		String questionVariant = "preparation";
-		if ("false".equals(isPreparation)) {
-			questionVariant = "lecture";
-		}
-		SortOrder existing = databaseDao.getSortOrder(session.get_id(), questionVariant, subject);
-		SortOrder sortOrder = new SortOrder();
-		if (existing != null) {
-			sortOrder.set_id(existing.get_id());
-			sortOrder.set_rev(existing.get_rev());
-		}
-		sortOrder.setSessionId(session.get_id());
-		sortOrder.setSubject(subject);
-		sortOrder.setSortType(sortType);
-		sortOrder.setQuestionVariant(questionVariant);
-		sortOrder.setSortOrder(Arrays.asList(sortOrderList));
-		return databaseDao.createOrUpdateSortOrder(sortOrder);
-	}
-
-	@Override
-	public String getQuestionSortType(String sessionkey, boolean isPreparation, String subject) {
-		Session session = databaseDao.getSessionFromKeyword(sessionkey);
-		String questionVariant = "lecture";
-		if (isPreparation) {
-			questionVariant = "preparation";
-		}
-		SortOrder sortOrder = databaseDao.getSortOrder(session.get_id(), questionVariant, subject);
-		if (sortOrder == null) {
-			return null;
-		}
-		return sortOrder.getSortType();
-	}
-
-	public SortOrder addToSortOrder(SortOrder sortOrder, String toBeAdded) {
-		List<String> tmpList = sortOrder.getSortOrder();
-		tmpList.add(toBeAdded);
-		sortOrder.setSortOrder(tmpList);
-		if ("alphabet".equals(sortOrder.getSortType())) {
-			sortOrder = alphabeticalSort(sortOrder);
-		}
-		return databaseDao.createOrUpdateSortOrder(sortOrder);
-	}
-
-	public void deleteQuestionFromSortOrder(Question question) {
-		SortOrder sortOrder = databaseDao.getSortOrder(question.getSessionId(), question.getQuestionVariant(), question.getSubject());
-		if (sortOrder != null) {
-			List<String> tempSortOrder = sortOrder.getSortOrder();
-			tempSortOrder.remove(question.get_id());
-			sortOrder.setSortOrder(tempSortOrder);
-			if (sortOrder.getSortOrder().isEmpty()) {
-				databaseDao.deleteSortOrder(sortOrder);
-				SortOrder subjectSortOrder = databaseDao.getSortOrder(sortOrder.getSessionId(), sortOrder.getQuestionVariant(), "");
-				List<String> tempSubSort = subjectSortOrder.getSortOrder();
-				tempSubSort.remove(question.getSubject());
-				subjectSortOrder.setSortOrder(tempSubSort);
-				if (subjectSortOrder.getSortOrder().isEmpty()) {
-					databaseDao.deleteSortOrder(subjectSortOrder);
-				} else {
-					databaseDao.createOrUpdateSortOrder(subjectSortOrder);
-				}
-			} else {
-				databaseDao.createOrUpdateSortOrder(sortOrder);
-			}
-		}
-	}
-
-	public void deleteSortOrder(Session session, String questionVariant, String subject) {
-		SortOrder sortOrder = databaseDao.getSortOrder(session.get_id(), questionVariant, subject);
-		if (sortOrder == null) {
-			return;
-		}
-		if ("".equals(subject)) {
-			List<String> subs = sortOrder.getSortOrder();
-			for (String sub : subs) {
-				deleteSortOrder(session, questionVariant, sub);
-			}
-		}
-		databaseDao.deleteSortOrder(sortOrder);
-	}
-
-	private List<Question> getQuestionsBySortOrder(SortOrder subjectSortOrder, final Session session, final User user) {
-		if (subjectSortOrder.getSortOrder().isEmpty()) {
-			return null;
-		}
-		List<String> questionIds = new ArrayList<String>();
-		List<String> subjects = subjectSortOrder.getSortOrder();
-		for (String sub : subjects) {
-			SortOrder questionSortOrder = databaseDao.getSortOrder(subjectSortOrder.getSessionId(), subjectSortOrder.getQuestionVariant(), sub);
-			if (questionSortOrder == null) {
-				continue;
-			}
-			questionIds.addAll(questionSortOrder.getSortOrder());
-		}
-		List<Question> questions = databaseDao.getQuestionsByIds(questionIds, session);
-
-		if (!session.isCreator(user)) {
-			List<Question> tempquestions = new ArrayList<Question>();
-			for (Question q : questions) {
-				if (q.isActive()) {
-					tempquestions.add(q);
-				}
-			}
-			return tempquestions;
-		}
-
-		return questions;
-	}
-
-	public SortOrder createSortOrder(Session session, String questionVariant, String subject) {
-		if ("".equals(subject)) {
-			SortOrder subjectSortOrder = new SortOrder();
-			subjectSortOrder.setSortOrder(databaseDao.getSubjects(session, questionVariant));
-			if (subjectSortOrder.getSortOrder() == null) {
-				return null;
-			}
-			subjectSortOrder.setSubject("");
-			subjectSortOrder.setSortType("alphabet");
-			subjectSortOrder.setQuestionVariant(questionVariant);
-			subjectSortOrder.setSessionId(session.get_id());
-			alphabeticalSort(subjectSortOrder);
-			List<String> subjects = subjectSortOrder.getSortOrder();
-			for (String sub : subjects) {
-				createSortOrder(session, questionVariant, sub);
-			}
-			return databaseDao.createOrUpdateSortOrder(subjectSortOrder);
-		} else {
-			SortOrder sortOrder = new SortOrder();
-			sortOrder.setSessionId(session.get_id());
-			sortOrder.setSubject(subject);
-			sortOrder.setQuestionVariant(questionVariant);
-			sortOrder.setSortType("alphabet");
-			sortOrder.setSortOrder(databaseDao.getQuestionIdsBySubject(session, questionVariant, subject));
-			alphabeticalSort(sortOrder);
-			return databaseDao.createOrUpdateSortOrder(sortOrder);
-		}
-	}
-
-	public SortOrder alphabeticalSort(SortOrder sortOrder) {
-		if (sortOrder.getSortOrder() == null) {
-			return null;
-		}
-		if (sortOrder.getSortOrder().isEmpty()) {
-			return null;
-		}
-		if ("".equals(sortOrder.getSubject())) {
-			List<String> subjects = sortOrder.getSortOrder();
-			Collections.sort(subjects);
-			sortOrder.setSortOrder(subjects);
-			return sortOrder;
-		} else {
-			Hashtable<String, String> hash = new Hashtable<>();
-			for (String qid : sortOrder.getSortOrder()) {
-				Question question = getQuestion(qid);
-				hash.put(question.getText(), qid);
-			}
-			List<String> sortList = new ArrayList<>();
-			List<String> keys = new ArrayList<>(hash.keySet());
-			Collections.sort(keys);
-			for (String textKey : keys) {
-				sortList.add(hash.get(textKey));
-			}
-			sortOrder.setSortOrder(sortList);
-			return sortOrder;
-		}
-	}
 }
diff --git a/src/main/java/de/thm/arsnova/services/SessionService.java b/src/main/java/de/thm/arsnova/services/SessionService.java
index 291d35d416bbb3afb0bd4af01e4ad47dc4f0b6f0..e2c4b94a80392acbe452cfc880c0a1638c30a7bd 100644
--- a/src/main/java/de/thm/arsnova/services/SessionService.java
+++ b/src/main/java/de/thm/arsnova/services/SessionService.java
@@ -27,7 +27,6 @@ import de.thm.arsnova.entities.LearningProgressOptions;
 import de.thm.arsnova.entities.Session;
 import de.thm.arsnova.entities.SessionFeature;
 import de.thm.arsnova.entities.SessionInfo;
-import de.thm.arsnova.entities.SortOrder;
 import de.thm.arsnova.entities.User;
 import de.thm.arsnova.entities.transport.ImportExportSession;
 import de.thm.arsnova.entities.transport.LearningProgressValues;
@@ -380,25 +379,6 @@ public class SessionService implements ISessionService, ApplicationEventPublishe
 			prepSubjects.add("");
 		}
 
-		List<String> lectureSubjects = databaseDao.getSubjects(session, "lecture");
-		if (lectureSubjects == null) {
-			lectureSubjects = new ArrayList<String>();
-		} else {
-			lectureSubjects.add("");
-		}
-
-		for (String subject : prepSubjects) {
-			SortOrder sortOrder = databaseDao.getSortOrder(session.get_id(), "preparation", subject);
-			if (sortOrder != null) {
-				databaseDao.deleteSortOrder(sortOrder);
-			}
-		}
-		for (String subject : lectureSubjects) {
-			SortOrder sortOrder = databaseDao.getSortOrder(session.get_id(), "lecture", subject);
-			if (sortOrder != null) {
-				databaseDao.deleteSortOrder(sortOrder);
-			}
-		}
 		databaseDao.deleteAllQuestionsWithAnswers(session);
 		databaseDao.deleteSession(session);
 
@@ -486,7 +466,7 @@ public class SessionService implements ISessionService, ApplicationEventPublishe
 		this.publisher.publishEvent(new LockFeedbackEvent(this, session));
 		return databaseDao.updateSession(session).getFeedbackLock();
 	}
-	
+
 	@Override
 	public boolean flipFlashcards(String sessionkey, Boolean flip) {
 		final Session session = databaseDao.getSessionFromKeyword(sessionkey);
diff --git a/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java b/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java
index e3742e232dba58a2f6f61aacdbb562ae2ee3a412..c9bae3974ac242ad2b8cda3fb89a61ba839e40e6 100644
--- a/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java
+++ b/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java
@@ -30,7 +30,6 @@ import de.thm.arsnova.entities.MotdList;
 import de.thm.arsnova.entities.Question;
 import de.thm.arsnova.entities.Session;
 import de.thm.arsnova.entities.SessionInfo;
-import de.thm.arsnova.entities.SortOrder;
 import de.thm.arsnova.entities.Statistics;
 import de.thm.arsnova.entities.User;
 import de.thm.arsnova.entities.transport.ImportExportSession;
@@ -620,23 +619,6 @@ public class StubDatabaseDao implements IDatabaseDao {
 		return null;
 	}
 
-	@Override
-	public SortOrder createOrUpdateSortOrder(SortOrder sortOrder) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	@Override
-	public SortOrder getSortOrder(String sessionkey, String questionVariant, String subject) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	@Override
-	public void deleteSortOrder(SortOrder sortOrder) {
-		// TODO Auto-generated method stub
-	}
-
 	@Override
 	public List<Question> getQuestionsByIds(List<String> ids, Session session) {
 		// TODO Auto-generated method stub