diff --git a/lib/base.php b/lib/base.php
index 02b55458f1f2c628aecfcc5001fed1d60772a4eb..7deaf271e4d955c18cb145856dc9f26de9b67b9c 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -301,7 +301,7 @@ class OC {
 		}
 	}
 
-	public static function checkSingleUserMode() {
+	public static function checkSingleUserMode($lockIfNoUserLoggedIn = false) {
 		if (!\OC::$server->getSystemConfig()->getValue('singleuser', false)) {
 			return;
 		}
@@ -311,6 +311,10 @@ class OC {
 			if ($group->inGroup($user)) {
 				return;
 			}
+		} else {
+			if(!$lockIfNoUserLoggedIn) {
+				return;
+			}
 		}
 		// send http status 503
 		header('HTTP/1.1 503 Service Temporarily Unavailable');
diff --git a/public.php b/public.php
index 8f3bc8e6ae9d39a71e4aca38fbf4dea84ef33726..f390166d06e514d307513cd621f5e2e52cc51876 100644
--- a/public.php
+++ b/public.php
@@ -37,7 +37,7 @@ try {
 	}
 
 	OC::checkMaintenanceMode();
-	OC::checkSingleUserMode();
+	OC::checkSingleUserMode(true);
 	$request = \OC::$server->getRequest();
 	$pathInfo = $request->getPathInfo();