diff --git a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
index 7ce41935e1396698c5514936c3af933d14126458..071980dd0603a45e59189ba8d16f6feb3aa0c05a 100644
--- a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
+++ b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
@@ -1412,12 +1412,19 @@ public class CouchDBDao implements IDatabaseDao {
 			}
 			sb.append("\"" + courses.get(courses.size() - 1).getId() + "\"");
 			sb.append("]");
-			this.setKeys(sb.toString());
+			try {
+				this.setKeys(URLEncoder.encode(sb.toString(), "UTF-8"));
+			}
+			catch (UnsupportedEncodingException e) {
+				LOGGER.error("Error while encoding course ID keys", e);
+			}
 		}
 		
 		public String getQueryString() {
 			StringBuilder query = new StringBuilder();
-			query.append(super.getQueryString());
+			if (super.getQueryString() != null) {
+				query.append(super.getQueryString());
+			}
 			if (this.keys != null) {
 				if (query.toString().isEmpty()) {
 					query.append("&");