diff --git a/src/main/java/de/thm/arsnova/controller/ConfigurationController.java b/src/main/java/de/thm/arsnova/controller/ConfigurationController.java
index 0077da747a94e884f03d7ce4ffc9bec46f3fb329..3211dfe93a0d8b76ba04d4ae7d76a6c518559df5 100644
--- a/src/main/java/de/thm/arsnova/controller/ConfigurationController.java
+++ b/src/main/java/de/thm/arsnova/controller/ConfigurationController.java
@@ -204,12 +204,15 @@ public class ConfigurationController extends AbstractController {
 		features.put("sessionImportExport", "true".equals(sessionImportExportEnabled));
 		features.put("publicPool", "true".equals(publicPoolEnabled));
 		
-		// add public pool configuration
-		config.put("publicPool", publicPool);
-		
-		publicPool.put("subjects", ppSubjects);
-		publicPool.put("licenses", ppLicenses);
-		publicPool.put("logoMaxFilesize", ppLogoMaxFilesize);
+		// add public pool configuration on demand
+		if (features.get("publicPool")) {
+			config.put("publicPool", publicPool);
+			publicPool.put("subjects", ppSubjects);
+			publicPool.put("licenses", ppLicenses);
+			publicPool.put("logoMaxFilesize", ppLogoMaxFilesize);
+			publicPool.put("levelsDe", ppLevelsDe);
+			publicPool.put("levelsEn", ppLevelsEn);
+		}
 
 		if (!"".equals(trackingTrackerUrl)) {
 			HashMap<String, String> tracking = new HashMap<String, String>();
@@ -219,8 +222,6 @@ public class ConfigurationController extends AbstractController {
 			tracking.put("trackerUrl", trackingTrackerUrl);
 			tracking.put("siteId", trackingSiteId);
 		}
-		publicPool.put("levelsDe", ppLevelsDe);
-		publicPool.put("levelsEn", ppLevelsEn);
 
 		config.put("grid", gridImageMaxFileSize);
 
diff --git a/src/main/java/de/thm/arsnova/controller/SecurityExceptionControllerAdvice.java b/src/main/java/de/thm/arsnova/controller/SecurityExceptionControllerAdvice.java
index 2b4608d972fcd6d097794190064597bddaaec9a2..611f8e1325ae4011e77c5fb9f3757028e1936db1 100644
--- a/src/main/java/de/thm/arsnova/controller/SecurityExceptionControllerAdvice.java
+++ b/src/main/java/de/thm/arsnova/controller/SecurityExceptionControllerAdvice.java
@@ -37,6 +37,7 @@ import de.thm.arsnova.exceptions.NotFoundException;
 import de.thm.arsnova.exceptions.NotImplementedException;
 import de.thm.arsnova.exceptions.PreconditionFailedException;
 import de.thm.arsnova.exceptions.UnauthorizedException;
+import de.thm.arsnova.exceptions.RequestEntityTooLargeException;
 
 @ControllerAdvice
 public class SecurityExceptionControllerAdvice {
@@ -98,4 +99,9 @@ public class SecurityExceptionControllerAdvice {
 	@ExceptionHandler(NotImplementedException.class)
 	public void handleNotImplementedException(final Exception e, final HttpServletRequest request) {
 	}
+	
+	@ResponseStatus(HttpStatus.REQUEST_ENTITY_TOO_LARGE)
+	@ExceptionHandler(RequestEntityTooLargeException.class)
+	public void handleRequestEntityTooLargeException(final Exception e, final HttpServletRequest request) {
+	}
 }
diff --git a/src/main/java/de/thm/arsnova/exceptions/RequestEntityTooLargeException.java b/src/main/java/de/thm/arsnova/exceptions/RequestEntityTooLargeException.java
new file mode 100644
index 0000000000000000000000000000000000000000..a8a7f30008255d9e392122a41504f14b88a51614
--- /dev/null
+++ b/src/main/java/de/thm/arsnova/exceptions/RequestEntityTooLargeException.java
@@ -0,0 +1,5 @@
+package de.thm.arsnova.exceptions;
+
+public class RequestEntityTooLargeException extends RuntimeException {
+	private static final long serialVersionUID = 1L;
+}
diff --git a/src/main/java/de/thm/arsnova/services/SessionService.java b/src/main/java/de/thm/arsnova/services/SessionService.java
index 37b9f8b4cadebe3d43dd7e1110d1668c5df3826e..47954ec101d2096a01c399218659b180c63798ee 100644
--- a/src/main/java/de/thm/arsnova/services/SessionService.java
+++ b/src/main/java/de/thm/arsnova/services/SessionService.java
@@ -44,6 +44,7 @@ import de.thm.arsnova.entities.User;
 import de.thm.arsnova.exceptions.ForbiddenException;
 import de.thm.arsnova.exceptions.NotFoundException;
 import de.thm.arsnova.exceptions.BadRequestException;
+import de.thm.arsnova.exceptions.RequestEntityTooLargeException;
 import de.thm.arsnova.socket.ARSnovaSocketIOServer;
 
 @Service
@@ -218,7 +219,7 @@ public class SessionService implements ISessionService {
 			final int fileSize = (int) ((session.getPpLogo().length()-814)/1.37);
 			if (fileSize > uploadFileSizeByte) {
 				LOGGER.error("Could not save file. File is too large with " + fileSize + " Byte.");
-				throw new BadRequestException();
+				throw new RequestEntityTooLargeException();
 			}
 		}