diff --git a/daemon/mount.c b/daemon/mount.c
index 9d8fb00..2fbf236 100644
--- a/daemon/mount.c
+++ b/daemon/mount.c
@@ -657,11 +657,19 @@ handle_register_mount (GVfsDBusMountTracker *object,
 
       if (arg_user_visible)
         {
+          gchar *safe_stable_name;
+
+          /* Replace reserved chars to allow access for applications from wine.
+           * See: https://bugzilla.gnome.org/show_bug.cgi?id=758564
+           */
+          safe_stable_name = g_strcanon (mount->stable_name, ":", ',');
+
           /* Use the old .gvfs location as fallback, not .cache/gvfs */
           if (g_get_user_runtime_dir() == g_get_user_cache_dir ())
-            mount->fuse_mountpoint = g_build_filename (g_get_home_dir(), ".gvfs", mount->stable_name, NULL);
+            mount->fuse_mountpoint = g_build_filename (g_get_home_dir(), ".gvfs", safe_stable_name, NULL);
           else
-            mount->fuse_mountpoint = g_build_filename (g_get_user_runtime_dir(), "gvfs", mount->stable_name, NULL);
+            mount->fuse_mountpoint = g_build_filename (g_get_user_runtime_dir(), "gvfs", safe_stable_name, NULL);
+          g_free (safe_stable_name);
         }
       
       mounts = g_list_prepend (mounts, mount);
