diff --git a/src/main/java/org/olat/NewControllerFactory.java b/src/main/java/org/olat/NewControllerFactory.java
index 60d5ebb75323438d3643a74f0109ba6be0b5de58..8c3e9be00229a97b3a0ca3b14f47febab43dd561 100644
--- a/src/main/java/org/olat/NewControllerFactory.java
+++ b/src/main/java/org/olat/NewControllerFactory.java
@@ -166,6 +166,9 @@ public class NewControllerFactory {
 	public boolean launch(UserRequest ureq, WindowControl wControl) {
 		BusinessControl bc = wControl.getBusinessControl();
 		ContextEntry mainCe = bc.popLauncherContextEntry();
+		if(mainCe == null) {
+			return false;//nothing to launch
+		}
 		OLATResourceable ores = mainCe.getOLATResourceable();
 
 		// Check for RepositoryEntry resource
diff --git a/src/main/java/org/olat/dispatcher/AuthenticatedDispatcher.java b/src/main/java/org/olat/dispatcher/AuthenticatedDispatcher.java
index 31ef3691517d517b30aeaa349547e35cd592c601..1eb19866837e3a195166ff330f07434423a9e27b 100644
--- a/src/main/java/org/olat/dispatcher/AuthenticatedDispatcher.java
+++ b/src/main/java/org/olat/dispatcher/AuthenticatedDispatcher.java
@@ -113,8 +113,6 @@ public class AuthenticatedDispatcher implements Dispatcher {
 			if(log.isDebug()){
 				log.debug("Bad Request "+request.getPathInfo());
 			}
-			DispatcherModule.sendBadRequest(request.getPathInfo(), response);
-			return;
 		}
 		
 		boolean auth = usess.isAuthenticated();
@@ -193,7 +191,7 @@ public class AuthenticatedDispatcher implements Dispatcher {
 			} else {
 				businessPath = extractBusinessPath(ureq, request, uriPrefix);
 				if(businessPath == null) {
-					log.error("Invalid URI in AuthenticatedDispatcher: " + request.getRequestURI());
+					processBusinessPath("", ureq, usess);
 				} else {
 					processBusinessPath(businessPath, ureq, usess);
 				}