diff --git a/lib/request.php b/lib/request.php
index 9e38e6bbd13d73ce0063b1c7a43e6b1bb9257e0d..3fe61fbddcde5909f61e7ef582e54c88486d990d 100644
--- a/lib/request.php
+++ b/lib/request.php
@@ -61,6 +61,17 @@ class OC_Request {
 			$path_info = $_SERVER['PATH_INFO'];
 		}else{
 			$path_info = substr($_SERVER['REQUEST_URI'], strlen($_SERVER['SCRIPT_NAME']));
+			// following is taken from Sabre_DAV_URLUtil::decodePathSegment
+			$path_info = rawurldecode($path_info);
+			$encoding = mb_detect_encoding($path_info, array('UTF-8','ISO-8859-1'));
+
+			switch($encoding) {
+
+			    case 'ISO-8859-1' :
+				$path_info = utf8_encode($path_info);
+
+			}
+			// end copy
 		}
 		return $path_info;
 	}