diff --git a/src/main/java/de/thm/arsnova/controller/v2/ContentController.java b/src/main/java/de/thm/arsnova/controller/v2/ContentController.java
index ad1ea3d6f758ae7a00babbdc5b71806fc8d0a08c..2b3e0bb4296557b8f9e6f10013b349b9c2ede63a 100644
--- a/src/main/java/de/thm/arsnova/controller/v2/ContentController.java
+++ b/src/main/java/de/thm/arsnova/controller/v2/ContentController.java
@@ -529,6 +529,9 @@ public class ContentController extends PaginationController {
 			final HttpServletResponse response) {
 		final de.thm.arsnova.model.Content content = contentService.get(contentId);
 		final de.thm.arsnova.model.Answer answerV3 = fromV2Migrator.migrate(answer, content);
+		if (answerV3.getContentId() == null) {
+			answerV3.setContentId(contentId);
+		}
 		if (!contentId.equals(answerV3.getContentId())) {
 			throw new BadRequestException("Mismatching content IDs.");
 		}
diff --git a/src/main/java/de/thm/arsnova/model/Answer.java b/src/main/java/de/thm/arsnova/model/Answer.java
index a6e26ecca2b70e87f3a72aae376e5cb288dd76f0..32b85a392911930c409523bffe6463df56b58e3d 100644
--- a/src/main/java/de/thm/arsnova/model/Answer.java
+++ b/src/main/java/de/thm/arsnova/model/Answer.java
@@ -52,7 +52,7 @@ public class Answer extends Entity {
 	private Content.Format format;
 
 	@Positive
-	private int round;
+	private int round = 1;
 
 	private Map<String, Map<String, ?>> extensions;
 
diff --git a/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbAnswerRepository.java b/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbAnswerRepository.java
index 17773478d87ee9ed30bc75c97a0a9dff6e743071..07a02e9afa631026c4b3767d80dd06b3eca93636 100644
--- a/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbAnswerRepository.java
+++ b/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbAnswerRepository.java
@@ -64,12 +64,12 @@ public class CouchDbAnswerRepository extends CouchDbCrudRepository<Answer>
 
 	@Override
 	public Iterable<Answer> findStubsByContentId(final String contentId) {
-		return createEntityStubs(db.queryView(createQuery("by_contentid").key(contentId)));
+		return createEntityStubs(db.queryView(createQuery("by_contentid").reduce(false).key(contentId)));
 	}
 
 	@Override
 	public Iterable<Answer> findStubsByContentIds(final Collection<String> contentIds) {
-		return createEntityStubs(db.queryView(createQuery("by_contentid").keys(contentIds)));
+		return createEntityStubs(db.queryView(createQuery("by_contentid").reduce(false).keys(contentIds)));
 	}
 
 	@Override
@@ -152,7 +152,9 @@ public class CouchDbAnswerRepository extends CouchDbCrudRepository<Answer>
 				.group(true)
 				.keys(contentIds));
 
-		return result.isEmpty() ? 0 : result.getRows().get(0).getValueAsInt();
+		return result.isEmpty() ? 0 : result.getRows().stream()
+				.map(ViewResult.Row::getValueAsInt)
+				.reduce(0, (a, b) -> a + b);
 	}
 
 	@Override
diff --git a/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbContentRepository.java b/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbContentRepository.java
index 0fea9e85652fa848940b0edff2b4df2225234856..3a356afdf9edbcad83db92f167d910e48d4ad85c 100644
--- a/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbContentRepository.java
+++ b/src/main/java/de/thm/arsnova/persistence/couchdb/CouchDbContentRepository.java
@@ -23,6 +23,7 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.function.Function;
 import org.ektorp.ComplexKey;
 import org.ektorp.CouchDbConnector;
 import org.ektorp.ViewResult;
@@ -82,9 +83,9 @@ public class CouchDbContentRepository extends CouchDbCrudRepository<Content> imp
 
 	@Override
 	public Iterable<Content> findStubsByIds(final Set<String> ids) {
-		return createEntityStubs(db.queryView(createQuery("by_id")
+		return super.createEntityStubs(db.queryView(createQuery("by_id")
 				.keys(ids)
-				.reduce(false)));
+				.reduce(false)), (a, b) -> {});
 	}
 
 	@Override
diff --git a/src/main/java/de/thm/arsnova/service/AnswerServiceImpl.java b/src/main/java/de/thm/arsnova/service/AnswerServiceImpl.java
index db181211c9e33a55eb2b44505ad58671097d9f59..dedcb67de246a7df2bc25e5ffec855eb344bcd3c 100644
--- a/src/main/java/de/thm/arsnova/service/AnswerServiceImpl.java
+++ b/src/main/java/de/thm/arsnova/service/AnswerServiceImpl.java
@@ -122,7 +122,9 @@ public class AnswerServiceImpl extends DefaultEntityServiceImpl<Answer> implemen
 		content.resetState();
 		/* FIXME: cancel timer */
 		contentService.update(content);
-		delete(answerRepository.findStubsByContentId(content.getId()));
+		final Iterable<Answer> answers = answerRepository.findStubsByContentId(content.getId());
+		answers.forEach(a -> a.setRoomId(content.getRoomId()));
+		delete(answers);
 	}
 
 	@Override
@@ -323,7 +325,9 @@ public class AnswerServiceImpl extends DefaultEntityServiceImpl<Answer> implemen
 	@Override
 	@PreAuthorize("isAuthenticated() && hasPermission(#answer, 'create')")
 	public Answer create(final Answer answer) {
-		this.answerQueue.offer(answer);
+		prepareCreate(answer);
+		answerQueue.offer(answer);
+		finalizeCreate(answer);
 
 		return answer;
 	}
@@ -438,6 +442,7 @@ public class AnswerServiceImpl extends DefaultEntityServiceImpl<Answer> implemen
 	@Secured({"ROLE_USER", "RUN_AS_SYSTEM"})
 	public void handleContentDeletion(final BeforeDeletionEvent<Content> event) {
 		final Iterable<Answer> answers = answerRepository.findStubsByContentId(event.getEntity().getId());
+		answers.forEach(a -> a.setRoomId(event.getEntity().getRoomId()));
 		delete(answers);
 	}
 }
diff --git a/src/main/java/de/thm/arsnova/service/ContentServiceImpl.java b/src/main/java/de/thm/arsnova/service/ContentServiceImpl.java
index 898cc636cbe03196912339f59a260d666b1fe67e..6d10774703c7b7099e90e287c4aaa502b25a76c2 100644
--- a/src/main/java/de/thm/arsnova/service/ContentServiceImpl.java
+++ b/src/main/java/de/thm/arsnova/service/ContentServiceImpl.java
@@ -26,6 +26,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.stream.Collectors;
+import java.util.stream.StreamSupport;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -240,12 +241,13 @@ public class ContentServiceImpl extends DefaultEntityServiceImpl<Content> implem
 
 	@PreAuthorize("isAuthenticated()")
 	private void deleteByRoomAndGroupName(final Room room, final String groupName) {
-		final Iterable<Content> contents;
 		if ("all".equals(groupName)) {
 			delete(contentRepository.findStubsByRoomId(room.getId()));
 		} else {
 			final Set<String> ids = contentGroupService.getByRoomIdAndName(room.getId(), groupName).getContentIds();
-			delete(contentRepository.findStubsByIds(ids));
+			final Iterable<Content> contents = contentRepository.findStubsByIds(ids);
+			contents.forEach(c -> c.setRoomId(room.getId()));
+			delete(contents);
 		}
 	}