diff --git a/lib/private/request.php b/lib/private/request.php
index df33217f95d65bde3bcddc1af2e0e37ea5e78816..d11e5b16cfe00a77c8919ca62405794128d058e9 100755
--- a/lib/private/request.php
+++ b/lib/private/request.php
@@ -9,6 +9,7 @@
 class OC_Request {
 	/**
 	 * @brief Check overwrite condition
+	 * @param string $type
 	 * @returns bool
 	 */
 	private static function isOverwriteCondition($type = '') {
@@ -99,7 +100,7 @@ class OC_Request {
 	public static function scriptName() {
 		$name = $_SERVER['SCRIPT_NAME'];
 		if (OC_Config::getValue('overwritewebroot', '') !== '' and self::isOverwriteCondition()) {
-			$serverroot = str_replace("\\", '/', substr(__DIR__, 0, -4));
+			$serverroot = str_replace("\\", '/', substr(__DIR__, 0, -strlen('lib/private/')));
 			$suburi = str_replace("\\", "/", substr(realpath($_SERVER["SCRIPT_FILENAME"]), strlen($serverroot)));
 			$name = OC_Config::getValue('overwritewebroot', '') . $suburi;
 		}
diff --git a/tests/lib/request.php b/tests/lib/request.php
new file mode 100644
index 0000000000000000000000000000000000000000..2b2094a612dd36abc7d781325a059df468d364e6
--- /dev/null
+++ b/tests/lib/request.php
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Copyright (c) 2013 Thomas Müller <thomas.mueller@tmit.eu>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+class Test_Request extends PHPUnit_Framework_TestCase {
+
+	public function setUp() {
+		OC_Config::setValue('overwritewebroot', '/domain.tld/ownCloud');
+	}
+
+	public function tearDown() {
+		OC_Config::setValue('overwritewebroot', '');
+	}
+
+	public function testScriptNameOverWrite() {
+		$_SERVER['REMOTE_ADDR'] = '10.0.0.1';
+		$_SERVER["SCRIPT_FILENAME"] = __FILE__;
+
+		$scriptName = OC_Request::scriptName();
+		$this->assertEquals('/domain.tld/ownCloud/tests/lib/request.php', $scriptName);
+	}
+}