diff --git a/src/main/java/de/thm/arsnova/SessionController.java b/src/main/java/de/thm/arsnova/SessionController.java
index 605753daa1c655c98ea7c4dd51075709f715767d..11383ca6f4bdb18f281999f7e963634332bb5401 100644
--- a/src/main/java/de/thm/arsnova/SessionController.java
+++ b/src/main/java/de/thm/arsnova/SessionController.java
@@ -35,6 +35,7 @@ import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 
 import de.thm.arsnova.entities.Session;
@@ -111,8 +112,8 @@ public class SessionController {
 	
 	@RequestMapping(value="/getSkillQuestions/{sessionkey}", method=RequestMethod.GET)
 	@ResponseBody
-	public List<Question> getSkillQuestions(@PathVariable String sessionkey, HttpServletResponse response) {
-		List<Question> questions = sessionService.getSkillQuestions(sessionkey);
+	public List<Question> getSkillQuestions(@PathVariable String sessionkey, @RequestParam(value="sort", required=false) String sort, HttpServletResponse response) {
+		List<Question> questions = sessionService.getSkillQuestions(sessionkey, sort);
 		if(questions == null || questions.isEmpty()) {
 			response.setStatus(HttpStatus.NOT_FOUND.value());
 			return null;
diff --git a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
index 6b34e07df976402e324bcbd7d57ff1f7d621da41..da671be685df26d48b15c23f08517d2e06ec65c6 100644
--- a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
+++ b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
@@ -186,14 +186,22 @@ public class CouchDBDao implements IDatabaseDao {
 	}
 	
 	@Override
-	public List<Question> getSkillQuestions(String session) {		
+	public List<Question> getSkillQuestions(String session, String sort) {
+		String viewName = "";
+		if(sort != null && sort.equals("text")) {
+			viewName = "skill_question/by_session_sorted_by_subject_and_text";
+		} else {
+			viewName = "skill_question/by_session";
+		}
 		try {
-			View view = new View("skill_question/by_session");
+			View view = new View(viewName);
 			view.setStartKey("[" + URLEncoder.encode("\"" + session + "\"", "UTF-8") + "]");
 			view.setEndKey("[" + URLEncoder.encode("\"" + session + "\",{}", "UTF-8") + "]");
 
 			ViewResults questions = this.getDatabase().view(view);
-	
+			if(questions == null || questions.isEmpty()) {
+				return null;
+			}
 			List<Question> result = new ArrayList<Question>();
 			
 			MorpherRegistry morpherRegistry = JSONUtils.getMorpherRegistry();
diff --git a/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java b/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java
index eed604f2c602c8ecfc3c3f9ac510f8448e2e9948..8cd6eb1e05e7c0b4bd48bcfef6e9471ce4e40255 100644
--- a/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java
+++ b/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java
@@ -37,5 +37,5 @@ public interface IDatabaseDao {
 	public boolean sessionKeyAvailable(String keyword);
 	
 	public boolean saveQuestion(Session session, Question question);
-	List<Question> getSkillQuestions(String session);
+	List<Question> getSkillQuestions(String session, String sort);
 }
\ No newline at end of file
diff --git a/src/main/java/de/thm/arsnova/services/ISessionService.java b/src/main/java/de/thm/arsnova/services/ISessionService.java
index c367f37560c1cdf8f478d50cb6870004354d7bff..d56b3051ff2595a75b9439e4363228b00583ed56 100644
--- a/src/main/java/de/thm/arsnova/services/ISessionService.java
+++ b/src/main/java/de/thm/arsnova/services/ISessionService.java
@@ -45,5 +45,5 @@ public interface ISessionService {
 	
 	public List<Session> getMySessions(String username);
 	public boolean saveQuestion(Question question);
-	public List<Question> getSkillQuestions(String sessionkey);
+	public List<Question> getSkillQuestions(String sessionkey, String sort);
 }
\ No newline at end of file
diff --git a/src/main/java/de/thm/arsnova/services/SessionService.java b/src/main/java/de/thm/arsnova/services/SessionService.java
index 628590cca68458f304da8a3906f3b4adc40a1196..4dfaf0c2a9ce456b485c6954ddab1116c85c4b69 100644
--- a/src/main/java/de/thm/arsnova/services/SessionService.java
+++ b/src/main/java/de/thm/arsnova/services/SessionService.java
@@ -77,8 +77,8 @@ public class SessionService implements ISessionService {
 	}
 
 	@Override
-	public List<Question> getSkillQuestions(String sessionkey) {
-		return databaseDao.getSkillQuestions(sessionkey);
+	public List<Question> getSkillQuestions(String sessionkey, String sort) {
+		return databaseDao.getSkillQuestions(sessionkey, sort);
 	}
 	
 	@Override