diff --git a/src/main/java/de/thm/arsnova/controller/LecturerQuestionController.java b/src/main/java/de/thm/arsnova/controller/LecturerQuestionController.java
index e4c7e2d526ec421507a3204656cf91788f935941..964f1005eacfa6ea0e0a8d66831fbba57559264f 100644
--- a/src/main/java/de/thm/arsnova/controller/LecturerQuestionController.java
+++ b/src/main/java/de/thm/arsnova/controller/LecturerQuestionController.java
@@ -38,6 +38,7 @@ import org.springframework.web.bind.annotation.RestController;
 import de.thm.arsnova.entities.Answer;
 import de.thm.arsnova.entities.Question;
 import de.thm.arsnova.exceptions.BadRequestException;
+import de.thm.arsnova.exceptions.ForbiddenException;
 import de.thm.arsnova.exceptions.NoContentException;
 import de.thm.arsnova.exceptions.NotFoundException;
 import de.thm.arsnova.services.IQuestionService;
@@ -332,9 +333,17 @@ public class LecturerQuestionController extends AbstractController {
 	@RequestMapping(value = "/answers", method = RequestMethod.DELETE)
 	public final void deleteAllQuestionsAnswers(
 			@RequestParam final String sessionkey,
+			@RequestParam(value = "lecturequestionsonly", defaultValue = "false") final boolean lectureQuestionsOnly,
+			@RequestParam(value = "preparationquestionsonly", defaultValue = "false") final boolean preparationQuestionsOnly,
 			final HttpServletResponse response
 			) {
-		questionService.deleteAllQuestionsAnswers(sessionkey);
+		if (lectureQuestionsOnly) {
+			questionService.deleteAllLectureAnswers(sessionkey);
+		} else if (preparationQuestionsOnly) {
+			questionService.deleteAllPreparationAnswers(sessionkey);
+		} else {
+			questionService.deleteAllQuestionsAnswers(sessionkey);
+		}
 	}
 
 	/**
diff --git a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
index fd1affb0fd2dd8e299c71c8cbad1d41638c1045f..c80cd8d4977f9cd1fb3930e253832ce343f13ab6 100644
--- a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
+++ b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
@@ -1461,6 +1461,22 @@ public class CouchDBDao implements IDatabaseDao {
 		}
 	}
 
+	@Override
+	public void deleteAllPreparationAnswers(final Session session) {
+		final List<Question> questions = getQuestions(new NovaView("skill_question/preparation_question_by_session"), session);
+		for (final Question q : questions) {
+			deleteAnswers(q);
+		}
+	}
+
+	@Override
+	public void deleteAllLectureAnswers(final Session session) {
+		final List<Question> questions = getQuestions(new NovaView("skill_question/lecture_question_by_session"), session);
+		for (final Question q : questions) {
+			deleteAnswers(q);
+		}
+	}
+
 	@Override
 	public int getLearningProgress(final Session session) {
 		// Note: we have to use this many views because our CouchDB version does not support
diff --git a/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java b/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java
index 37e1a2115e5701672fb6504d616c963723786fe0..7a1c205f9d70e80088fa542a091fc812876f9634 100644
--- a/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java
+++ b/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java
@@ -173,4 +173,8 @@ public interface IDatabaseDao {
 	List<SessionInfo> getMySessionsInfo(User user);
 
 	List<SessionInfo> getMyVisitedSessionsInfo(User currentUser);
+
+	void deleteAllPreparationAnswers(Session session);
+
+	void deleteAllLectureAnswers(Session session);
 }
diff --git a/src/main/java/de/thm/arsnova/services/IQuestionService.java b/src/main/java/de/thm/arsnova/services/IQuestionService.java
index a964c77e35d51449cdddc7297c4605390fdd04fe..633478fd05377f74204b4f9c6e4f1287af036ea7 100644
--- a/src/main/java/de/thm/arsnova/services/IQuestionService.java
+++ b/src/main/java/de/thm/arsnova/services/IQuestionService.java
@@ -120,4 +120,8 @@ public interface IQuestionService {
 
 	void deleteAllQuestionsAnswers(String sessionkey);
 
+	void deleteAllPreparationAnswers(String sessionkey);
+
+	void deleteAllLectureAnswers(String sessionkey);
+
 }
diff --git a/src/main/java/de/thm/arsnova/services/QuestionService.java b/src/main/java/de/thm/arsnova/services/QuestionService.java
index 4c1b2c2d867abb6c7260f1bd3ccfa690abc5d039..9484450063b0acec0519561ea9acffa7bfcbfd38 100644
--- a/src/main/java/de/thm/arsnova/services/QuestionService.java
+++ b/src/main/java/de/thm/arsnova/services/QuestionService.java
@@ -214,21 +214,13 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis
 	}
 
 	@Override
-	@PreAuthorize("isAuthenticated()")
+	@PreAuthorize("isAuthenticated() and hasPermission(#questionId, 'question', 'owner')")
 	public void deleteAnswers(final String questionId) {
 		final Question question = databaseDao.getQuestion(questionId);
-		if (question == null) {
-			throw new NotFoundException();
-		}
-
-		final User user = userService.getCurrentUser();
-		final Session session = databaseDao.getSession(question.getSessionKeyword());
-		if (user == null || session == null || !session.isCreator(user)) {
-			throw new UnauthorizedException();
-		}
 		databaseDao.deleteAnswers(question);
 	}
 
+
 	@Override
 	@PreAuthorize("isAuthenticated()")
 	public List<String> getUnAnsweredQuestionIds(final String sessionKey) {
@@ -609,6 +601,20 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis
 		databaseDao.deleteAllQuestionsAnswers(session);
 	}
 
+	@Override
+	@PreAuthorize("isAuthenticated() and hasPermission(#sessionkey, 'session', 'owner')")
+	public void deleteAllPreparationAnswers(String sessionkey) {
+		final Session session = getSession(sessionkey);
+		databaseDao.deleteAllPreparationAnswers(session);
+	}
+
+	@Override
+	@PreAuthorize("isAuthenticated() and hasPermission(#sessionkey, 'session', 'owner')")
+	public void deleteAllLectureAnswers(String sessionkey) {
+		final Session session = getSession(sessionkey);
+		databaseDao.deleteAllLectureAnswers(session);
+	}
+
 	@Override
 	public void setApplicationEventPublisher(ApplicationEventPublisher publisher) {
 		this.publisher = publisher;
diff --git a/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java b/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java
index 4a48df93f774a2c1f0515f77465962f603eea5ca..956d495664e41c99b1f2ad73b1b983cd463d0468 100644
--- a/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java
+++ b/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java
@@ -511,7 +511,7 @@ public class StubDatabaseDao implements IDatabaseDao {
 	@Override
 	public void deleteAllInterposedQuestions(Session session, User user) {
 		// TODO Auto-generated method stub
-		
+
 	}
 
 	@Override
@@ -531,4 +531,16 @@ public class StubDatabaseDao implements IDatabaseDao {
 		// TODO Auto-generated method stub
 		return null;
 	}
+
+	@Override
+	public void deleteAllPreparationAnswers(Session session) {
+		// TODO Auto-generated method stub
+
+	}
+
+	@Override
+	public void deleteAllLectureAnswers(Session session) {
+		// TODO Auto-generated method stub
+
+	}
 }