diff --git a/lib/private/appframework/dependencyinjection/dicontainer.php b/lib/private/appframework/dependencyinjection/dicontainer.php
index b71ca71391dee6191177f5356d6a26ed9521aca0..b0be4045541a3cc85f0c12699efae91537b4e52e 100644
--- a/lib/private/appframework/dependencyinjection/dicontainer.php
+++ b/lib/private/appframework/dependencyinjection/dicontainer.php
@@ -252,11 +252,10 @@ class DIContainer extends SimpleContainer implements IAppContainer {
 		});
 
 		$this->registerService('Protocol', function($c){
-			if(isset($_SERVER['SERVER_PROTOCOL'])) {
-				return new Http($_SERVER, $_SERVER['SERVER_PROTOCOL']);
-			} else {
-				return new Http($_SERVER);
-			}
+			/** @var \OC\Server $server */
+			$server = $c->query('ServerContainer');
+			$protocol = $server->getRequest()->getHttpProtocol();
+			return new Http($_SERVER, $protocol);
 		});
 
 		$this->registerService('Dispatcher', function($c) {
diff --git a/lib/private/appframework/http.php b/lib/private/appframework/http.php
index 89f6f70f4e77c69f577d617feacb11289838a29b..e64759fa924cdacb2dfa1867326275e5e53d2866 100644
--- a/lib/private/appframework/http.php
+++ b/lib/private/appframework/http.php
@@ -112,6 +112,7 @@ class Http extends BaseHttp {
 	 * @param Http::CONSTANT $status the constant from the Http class
 	 * @param \DateTime $lastModified formatted last modified date
 	 * @param string $ETag the etag
+	 * @return string
 	 */
 	public function getStatusHeader($status, \DateTime $lastModified=null, 
 	                                $ETag=null) {
diff --git a/lib/private/response.php b/lib/private/response.php
index 2cd1d990e51b9bc50f4859b761d16d1479ed595d..b0eb8adc4d59dfba89d887a4e9e6219b4177e780 100644
--- a/lib/private/response.php
+++ b/lib/private/response.php
@@ -74,7 +74,7 @@ class OC_Response {
 	* @param int $status a HTTP status code, see also the STATUS constants
 	*/
 	static public function setStatus($status) {
-		$protocol = $_SERVER['SERVER_PROTOCOL'];
+		$protocol = \OC::$server->getRequest()->getHttpProtocol();
 		switch($status) {
 			case self::STATUS_NOT_MODIFIED:
 				$status = $status . ' Not Modified';