a804699b2df142d759ea26b8972ed170b2e4e2b4
diff --git a/gtk/gtkfilesystem.c b/gtk/gtkfilesystem.c
index c462b3f..00ecd46 100644
--- a/gtk/gtkfilesystem.c
+++ b/gtk/gtkfilesystem.c
@@ -613,7 +613,7 @@ _gtk_file_system_parse (GtkFileSystem     *file_system,
 
   last_slash = strrchr (str, G_DIR_SEPARATOR);
 
-  if (str[0] == '~')
+  if (str[0] == '~' || str[0] == G_DIR_SEPARATOR || strstr (str, "://") != NULL)
     file = g_file_parse_name (str);
   else
     file = g_file_resolve_relative_path (base_file, str);
