diff --git a/src/main/java/de/thm/arsnova/SessionController.java b/src/main/java/de/thm/arsnova/SessionController.java
index 0142939799afad14362f748f802f59023091f579..fff51bb91fc96a7609467ea89063d410a91c478d 100644
--- a/src/main/java/de/thm/arsnova/SessionController.java
+++ b/src/main/java/de/thm/arsnova/SessionController.java
@@ -127,6 +127,17 @@ public class SessionController {
 		return null;
 	}
 
+	@RequestMapping(value="/session/{sessionkey}/question/{questionId}", method=RequestMethod.GET)
+	@ResponseBody
+	public Question getQuestion(@PathVariable String sessionkey, @PathVariable String questionId, HttpServletResponse response) {
+		Question question = sessionService.getQuestion(questionId);
+		if (question != null && question.getSession().equals(sessionkey)) {
+			return question;
+		}
+		
+		response.setStatus(HttpStatus.NOT_FOUND.value());
+		return null;
+	}
 	
 	@RequestMapping(value="/session/{sessionkey}/question", method=RequestMethod.POST)
 	@ResponseBody
diff --git a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
index 65772653ad42fb9eb8044c2a216497a69abcbdb8..e6175ad653635c6f941608e8179111dbf86ef170 100644
--- a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
+++ b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
@@ -405,4 +405,26 @@ public class CouchDBDao implements IDatabaseDao {
 		}
 		return false;
 	}
+	
+	
+	@Override
+	public Question getQuestion(String id) {
+		try {
+			View view = new View("skill_question/by_id");
+			view.setKey(URLEncoder.encode("\"" + id + "\"", "UTF-8"));
+			ViewResults results = this.getDatabase().view(view);
+			
+			if (results.getJSONArray("rows").optJSONObject(0) == null) {
+				return null;
+			}
+			
+			return (Question) JSONObject.toBean(
+					results.getJSONArray("rows").optJSONObject(0).optJSONObject("value"),
+					Question.class
+			);
+		} catch (IOException e) {
+			logger.error("Could not get question with id {}", id);
+		}
+		return null;
+	}
 }
diff --git a/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java b/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java
index 84bd0a7b8639ea78bce800f266167ba9aeb238aa..13825abc0e762e417e8f66e996b6332ede6ad9bd 100644
--- a/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java
+++ b/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java
@@ -34,4 +34,5 @@ public interface IDatabaseDao {
 	public boolean sessionKeyAvailable(String keyword);
 	
 	public boolean saveQuestion(Session session, Question question);
+	public Question getQuestion(String id);
 }
\ 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 0dfb1c8dee82d3eeed5f946e8fcd1be47b256d2b..83f9d40d05c721787ffd8d27ca851c755dc30e7e 100644
--- a/src/main/java/de/thm/arsnova/services/ISessionService.java
+++ b/src/main/java/de/thm/arsnova/services/ISessionService.java
@@ -45,4 +45,5 @@ public interface ISessionService {
 	public void broadcastFeedbackChanges(Map<String, Set<String>> affectedUsers, Set<String> allAffectedSessions);
 	
 	public boolean saveQuestion(Question question);
+	public Question getQuestion(String id);
 }
\ 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 e169cb00977e9a902561cb966d373ac97394edb6..29f2eee157588681c283dedec00181bd75dfe1eb 100644
--- a/src/main/java/de/thm/arsnova/services/SessionService.java
+++ b/src/main/java/de/thm/arsnova/services/SessionService.java
@@ -148,4 +148,9 @@ public class SessionService implements ISessionService {
 		Session session = this.databaseDao.getSessionFromKeyword(question.getSession());
 		return this.databaseDao.saveQuestion(session, question);
 	}
+	
+	@Override
+	public Question getQuestion(String id) {
+		return databaseDao.getQuestion(id);
+	}
 }