diff --git a/src/ChangeLog b/src/ChangeLog
index 0586a2cc..19eb694c 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2002-02-19  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+	* url.c (url_parse): Don't treat '?' as query string separator
+	when parsing FTP URLs.
+
 2002-02-01  Hrvoje Niksic  <hniksic@arsdigita.com>
 
 	* html-url.c (tag_handle_meta): Don't crash on <meta
diff --git a/src/url.c b/src/url.c
index b1087378..911c4100 100644
--- a/src/url.c
+++ b/src/url.c
@@ -802,6 +802,15 @@ url_parse (const char *url, int *error)
       query_b = p;
       p = strpbrk_or_eos (p, "#");
       query_e = p;
+
+      /* Hack that allows users to use '?' (a wildcard character) in
+	 FTP URLs without it being interpreted as a query string
+	 delimiter.  */
+      if (scheme == SCHEME_FTP)
+	{
+	  query_b = query_e = NULL;
+	  path_e = p;
+	}
     }
   if (*p == '#')
     {