Index: libgnomevfs/gnome-vfs-utils.c
===================================================================
--- libgnomevfs/gnome-vfs-utils.c	(Revision 5261)
+++ libgnomevfs/gnome-vfs-utils.c	(Arbeitskopie)
@@ -1259,27 +1259,24 @@ gnome_vfs_format_uri_for_display (const 
 }
 
 static gboolean
-is_valid_scheme_character (char c)
-{
-	return g_ascii_isalnum (c) || c == '+' || c == '-' || c == '.';
-}
-
-static gboolean
 has_valid_scheme (const char *uri)
 {
+	char *scheme;
 	const char *p;
+	gboolean ret;
 
-	p = uri;
+	ret = FALSE;
 
-	if (!is_valid_scheme_character (*p)) {
-		return FALSE;
+	p = strchr (uri, ':');
+	if (p != NULL) {
+		scheme = g_strndup (uri, p - uri);
+		if (gnome_vfs_method_get (scheme) != NULL) {
+			ret = TRUE;
+		}
+		g_free (scheme);
 	}
 
-	do {
-		p++;
-	} while (is_valid_scheme_character (*p));
-
-	return *p == ':';
+	return ret;
 }
 
 static char *
