diff --git a/lib/base.php b/lib/base.php
index 176f799f94de80acaf413b2bf053a65ab80e4553..6ec5f69e45dc0afd40700610a9fed2645d150059 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -776,6 +776,7 @@ class OC {
 		if (OC_User::isLoggedIn()) {
 			OC_App::loadApps();
 			OC_User::setupBackends();
+			OC_Util::setupFS();
 			if (isset($_GET["logout"]) and ($_GET["logout"])) {
 				OC_JSON::callCheck();
 				if (isset($_COOKIE['oc_token'])) {
diff --git a/lib/private/files/filesystem.php b/lib/private/files/filesystem.php
index 1dbe66143acdba4378bcab680b6ef5e5c4c39e34..db46bcfd1ea1564edb0c417cec1dff5da5539a8f 100644
--- a/lib/private/files/filesystem.php
+++ b/lib/private/files/filesystem.php
@@ -794,5 +794,3 @@ class Filesystem {
 		return self::$defaultInstance->getETag($path);
 	}
 }
-
-\OC_Util::setupFS();
diff --git a/lib/private/user.php b/lib/private/user.php
index c9b1522f85acb9d3dbd200ce9c209dcd2a6efe90..509a7c71209f82667ed994f914a0ce0e90800078 100644
--- a/lib/private/user.php
+++ b/lib/private/user.php
@@ -232,7 +232,11 @@ class OC_User {
 	 */
 	public static function login($uid, $password) {
 		session_regenerate_id(true);
-		return self::getUserSession()->login($uid, $password);
+		$result = self::getUserSession()->login($uid, $password);
+		if ($result) {
+			OC_Util::setupFS($uid);
+		}
+		return $result;
 	}
 
 	/**