diff --git a/lib/base.php b/lib/base.php
index eee36da2eb2ea23fe5e822e8e667841ccaed8797..0d3de2c36424bcc5f1017fe4094dbbe48f66d1c0 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -490,6 +490,13 @@ class OC{
 			require_once 'setup.php';
 			exit();
 		}
+		// Handle redirect URL for logged in users
+		if(isset($_REQUEST['redirect_url']) && OC_User::isLoggedIn()) {
+			$location = OC_Helper::makeURLAbsolute(urldecode($_REQUEST['redirect_url']));
+			header( 'Location: '.$location );
+			return;
+		}
+
 		// Handle WebDAV
 		if($_SERVER['REQUEST_METHOD']=='PROPFIND') {
 			header('location: '.OC_Helper::linkToRemote('webdav'));