diff --git a/django_airavata/apps/api/serializers.py b/django_airavata/apps/api/serializers.py
index b259c71..030b4a8 100644
--- a/django_airavata/apps/api/serializers.py
+++ b/django_airavata/apps/api/serializers.py
@@ -2,6 +2,7 @@
 import datetime
 import json
 import logging
+from pathlib import Path
 from urllib.parse import quote
 
 from airavata.model.appcatalog.appdeployment.ttypes import (
@@ -944,6 +945,26 @@
 
     def get_userHasWriteAccess(self, instance):
         request = self.context['request']
+        # Special handling when using remote API to access user data storage
+        if hasattr(settings, 'GATEWAY_DATA_STORE_REMOTE_API'):
+            if "userHasWriteAccess" in instance:
+                return instance["userHasWriteAccess"]
+            elif instance.get("isDir", False):
+                path = Path(instance.get("path", ""))
+                if path != Path(""):
+                    # get parent directory listing and use that to figure out if
+                    # there is write access to this directory
+                    directories, _ = user_storage.listdir(request, path.parent)
+                    for d in directories:
+                        if Path(d["path"]) == path:
+                            return d.get("userHasWriteAccess", False)
+                    return False
+                else:
+                    # User always has write access on home directory
+                    return True
+            else:
+                return False
+
         is_shared_dir = view_utils.is_shared_dir(instance["path"])
         is_shared_path = view_utils.is_shared_path(instance["path"])
         if is_shared_dir:
@@ -984,6 +1005,8 @@
     isSharedDir = serializers.SerializerMethodField()
 
     def get_isSharedDir(self, directory):
+        if "isSharedDir" in directory:
+            return directory["isSharedDir"]
         return view_utils.is_shared_dir(directory["path"])
 
 
diff --git a/django_airavata/apps/api/view_utils.py b/django_airavata/apps/api/view_utils.py
index bda38db..a827434 100644
--- a/django_airavata/apps/api/view_utils.py
+++ b/django_airavata/apps/api/view_utils.py
@@ -2,6 +2,7 @@
 import os
 from collections.__init__ import OrderedDict
 from datetime import datetime
+from pathlib import Path
 
 import pytz
 from airavata_django_portal_sdk import user_storage
@@ -232,7 +233,7 @@
 
 def is_shared_dir(path):
     shared_dirs: dict = getattr(settings, 'GATEWAY_DATA_SHARED_DIRECTORIES', {})
-    return any(map(lambda n: n == path, shared_dirs.keys()))
+    return any(map(lambda n: Path(n) == Path(path), shared_dirs.keys()))
 
 
 def is_shared_path(path):
