diff --git a/src/testdir/test_gf.vim b/src/testdir/test_gf.vim
index ef1bf10..c352379 100644
--- a/src/testdir/test_gf.vim
+++ b/src/testdir/test_gf.vim
@@ -7,7 +7,8 @@
       \ "first test for URL://machine.name/tmp/vimtest2a and other text",
       \ "second test for URL://machine.name/tmp/vimtest2b. And other text",
       \ "third test for URL:\\\\machine.name\\vimtest2c and other text",
-      \ "fourth test for URL:\\\\machine.name\\tmp\\vimtest2d, and other text"
+      \ "fourth test for URL:\\\\machine.name\\tmp\\vimtest2d, and other text",
+      \ "fifth test for URL://machine.name/tmp?q=vim&opt=yes and other text",
       \ ])
   call cursor(1,1)
   call search("^first")
@@ -28,6 +29,10 @@
   call search("URL")
   call assert_equal("URL:\\\\machine.name\\tmp\\vimtest2d", expand("<cfile>"))
 
+  call search("^fifth")
+  call search("URL")
+  call assert_equal("URL://machine.name/tmp?q=vim&opt=yes", expand("<cfile>"))
+
   set isf&vim
   enew!
 endfunc
diff --git a/src/version.c b/src/version.c
index f62287b..1754722 100644
--- a/src/version.c
+++ b/src/version.c
@@ -772,6 +772,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1426,
+/**/
     1425,
 /**/
     1424,
diff --git a/src/window.c b/src/window.c
index ffe4e38..a58fbbd 100644
--- a/src/window.c
+++ b/src/window.c
@@ -6081,7 +6081,6 @@
 						     count, curbuf->b_ffname);
     }
     return file_name_at_cursor(options | FNAME_HYP, count, file_lnum);
-
 }
 
 /*
@@ -6120,6 +6119,8 @@
 {
     char_u	*ptr;
     int		len;
+    int		in_type = TRUE;
+    int		is_url = FALSE;
 
     /*
      * search forward for what could be the start of a file name
@@ -6158,8 +6159,19 @@
      */
     len = 0;
     while (vim_isfilec(ptr[len]) || (ptr[len] == '\\' && ptr[len + 1] == ' ')
-			 || ((options & FNAME_HYP) && path_is_url(ptr + len)))
+			 || ((options & FNAME_HYP) && path_is_url(ptr + len))
+			 || (is_url && vim_strchr((char_u *)"?&=", ptr[len]) != NULL))
     {
+	/* After type:// we also include ?, & and = as valid characters, so that
+	 * http://google.com?q=this&that=ok works. */
+	if ((ptr[len] >= 'A' && ptr[len] <= 'Z') || (ptr[len] >= 'a' && ptr[len] <= 'z'))
+	{
+	    if (in_type && path_is_url(ptr + len + 1))
+		is_url = TRUE;
+	}
+	else
+	    in_type = FALSE;
+
 	if (ptr[len] == '\\')
 	    /* Skip over the "\" in "\ ". */
 	    ++len;
