diff --git a/public.php b/public.php
index f17052a6c874ee86379b7d0449e7d4e0c7fa0e4d..76fe5ac05706bbd8c630336e172a0a22eea40294 100644
--- a/public.php
+++ b/public.php
@@ -15,11 +15,12 @@ try {
 	OC::checkSingleUserMode();
 	$request = \OC::$server->getRequest();
 	$pathInfo = $request->getPathInfo();
-	if (!$pathInfo && !isset($request->server['service'])) {
+
+	if (!$pathInfo && $request->getParam('service', '') === '') {
 		header('HTTP/1.0 404 Not Found');
 		exit;
-	} elseif (isset($request->server['service'])) {
-		$service = $request->server['service'];
+	} elseif ($request->getParam('service', '')) {
+		$service = $request->getParam('service', '');
 	} else {
 		$pathInfo = trim($pathInfo, '/');
 		list($service) = explode('/', $pathInfo);