diff --git a/lib/base.php b/lib/base.php
index c52b4493e01bb6e4845ee46923a55ed9be2f6ea0..700236c96c686aa743a273fe6cd293ad732c140f 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -92,6 +92,14 @@ class OC{
 			$_SERVER['PHP_AUTH_PW'] = strip_tags($password);
 		}
 
+		//set http auth headers for apache+php-cgi work around if variable gets renamed by apache
+		if (isset($_SERVER['REDIRECT_HTTP_AUTHORIZATION']) && preg_match('/Basic\s+(.*)$/i', $_SERVER['REDIRECT_HTTP_AUTHORIZATION'], $matches))
+		{
+			list($name, $password) = explode(':', base64_decode($matches[1]));
+			$_SERVER['PHP_AUTH_USER'] = strip_tags($name);
+			$_SERVER['PHP_AUTH_PW'] = strip_tags($password);
+		}
+
 		// calculate the documentroot
 		OC::$DOCUMENTROOT=realpath($_SERVER['DOCUMENT_ROOT']);
 		OC::$SERVERROOT=str_replace("\\",'/',substr(__FILE__,0,-13));