diff --git a/lib/private/api.php b/lib/private/api.php
index 7e69a6a77d20490bc286e2716117c5da01a49ace..eac4a825e074067e86a0a2f3118c472882200143 100644
--- a/lib/private/api.php
+++ b/lib/private/api.php
@@ -245,6 +245,10 @@ class OC_API {
 		$return = OC_User::login($authUser, $authPw);
 		if ($return === true) {
 			self::$logoutRequired = true;
+
+			// initialize the user's filesystem
+			\OC_Util::setUpFS(\OC_User::getUser());
+
 			return $authUser;
 		}
 
@@ -252,6 +256,10 @@ class OC_API {
 		$loggedIn = OC_User::isLoggedIn();
 		$ocsApiRequest = isset($_SERVER['HTTP_OCS_APIREQUEST']) ? $_SERVER['HTTP_OCS_APIREQUEST'] === 'true' : false;
 		if ($loggedIn === true && $ocsApiRequest) {
+
+			// initialize the user's filesystem
+			\OC_Util::setUpFS(\OC_User::getUser());
+
 			return OC_User::getUser();
 		}