diff --git a/files/file.c b/files/file.c
index 2c373d229075cd3e07dff06cb52ea965e4c0d1e8..e805994cc60e0be93a814efeac98f7c43240c306 100644
--- a/files/file.c
+++ b/files/file.c
@@ -438,8 +438,12 @@ HANDLE WINAPI CreateFileA( LPCSTR filename, DWORD access, DWORD sharing,
 	}
     }
 
-    if (!strncmp(filename, "\\\\.\\", 4))
-        return DEVICE_Open( filename+4, access, sa );
+    if (!strncmp(filename, "\\\\.\\", 4)) {
+        if (!DOSFS_GetDevice( filename ))
+        	return DEVICE_Open( filename+4, access, sa );
+	else
+        	filename+=4; /* fall into DOSFS_Device case below */
+    }
 
     /* If the name still starts with '\\', it's a UNC name. */
     if (!strncmp(filename, "\\\\", 2))