diff --git a/modules/access/Makefile.am b/modules/access/Makefile.am
index cc827027df44bdeaa92a51ba617c229ac5145aeb..08b634b23e29582893c6ebf3a24bef85b0628da8 100644
--- a/modules/access/Makefile.am
+++ b/modules/access/Makefile.am
@@ -21,9 +21,6 @@ endif
 
 libfilesystem_plugin_la_SOURCES = access/fs.h access/file.c access/directory.c access/fs.c
 libfilesystem_plugin_la_CPPFLAGS = $(AM_CPPFLAGS)
-if HAVE_WIN32
-libfilesystem_plugin_la_LIBADD = -lshlwapi
-endif
 access_LTLIBRARIES += libfilesystem_plugin.la
 
 if HAVE_EMSCRIPTEN
diff --git a/modules/access/file.c b/modules/access/file.c
index 1109590fcc8573de2b4876580b38b02543453c20..e439c3994c932d6c163bcf1b16209bcaf03e73d4 100644
--- a/modules/access/file.c
+++ b/modules/access/file.c
@@ -47,9 +47,6 @@
 #if defined( _WIN32 )
 #   include <io.h>
 #   include <ctype.h>
-#if !defined(VLC_WINSTORE_APP)
-#   include <shlwapi.h> // for PathIsNetworkPathW
-#endif
 #else
 #   include <unistd.h>
 #endif
@@ -120,17 +117,25 @@ static bool IsRemote (int fd)
 }
 # define IsRemote(fd,path) IsRemote(fd)
 
-#else /* _WIN32 || __OS2__ */
+#elif defined(_WIN32)
+
+static bool IsRemote(int fd, const char *path)
+{
+    VLC_UNUSED(fd);
+
+    size_t len = strlen(path);
+    if (len < 2)
+        return false;
+    if (path[0] == '\\' && path[1] == '\\')
+        return true;
+    return false;
+}
+
+#else /* __OS2__ */
+
 static bool IsRemote (const char *path)
 {
-# if !defined(__OS2__) && !defined(VLC_WINSTORE_APP)
-    wchar_t *wpath = ToWide (path);
-    bool is_remote = (wpath != NULL && PathIsNetworkPathW (wpath));
-    free (wpath);
-    return is_remote;
-# else
     return (! strncmp(path, "\\\\", 2));
-# endif
 }
 # define IsRemote(fd,path) IsRemote(path)
 #endif