diff --git a/src/misc2.c b/src/misc2.c
index 196641f..c63344f 100644
--- a/src/misc2.c
+++ b/src/misc2.c
@@ -4679,8 +4679,58 @@
     }
     STRCPY(ff_expand_buffer, search_ctx->ffsc_start_dir);
     add_pathsep(ff_expand_buffer);
-    STRCAT(ff_expand_buffer, search_ctx->ffsc_fix_path);
-    add_pathsep(ff_expand_buffer);
+    {
+	char_u *buf = alloc(STRLEN(ff_expand_buffer)
+					 + STRLEN(search_ctx->ffsc_fix_path));
+
+	STRCPY(buf, ff_expand_buffer);
+	STRCAT(buf, search_ctx->ffsc_fix_path);
+	if (mch_isdir(buf))
+	{
+	    STRCAT(ff_expand_buffer, search_ctx->ffsc_fix_path);
+	    add_pathsep(ff_expand_buffer);
+	}
+#ifdef FEAT_PATH_EXTRA
+	else
+	{
+	    char_u *p =  vim_strrchr(search_ctx->ffsc_fix_path, PATHSEP);
+	    char_u *wc_path = NUL;
+	    char_u *temp = NUL;
+	    int    len = 0;
+
+	    if (p != NULL)
+	    {
+		len = p - search_ctx->ffsc_fix_path;
+		STRNCAT(ff_expand_buffer, search_ctx->ffsc_fix_path, len);
+		add_pathsep(ff_expand_buffer);
+	    }
+	    else
+		len = STRLEN(search_ctx->ffsc_fix_path);
+
+	    if (search_ctx->ffsc_wc_path != NULL)
+	    {
+		wc_path = vim_strsave(search_ctx->ffsc_wc_path);
+		temp = alloc(STRLEN(search_ctx->ffsc_wc_path)
+				 + (STRLEN(search_ctx->ffsc_fix_path) - len));
+	    }
+
+	    if (temp == NULL || wc_path == NULL)
+	    {
+		vim_free(buf);
+		vim_free(temp);
+		vim_free(wc_path);
+		goto error_return;
+	    }
+
+	    STRCPY(temp, search_ctx->ffsc_fix_path + len);
+	    STRCAT(temp, search_ctx->ffsc_wc_path);
+	    vim_free(search_ctx->ffsc_wc_path);
+	    vim_free(wc_path);
+	    search_ctx->ffsc_wc_path = temp;
+	}
+#endif
+	vim_free(buf);
+    }
 
     sptr = ff_create_stack_element(ff_expand_buffer,
 #ifdef FEAT_PATH_EXTRA
diff --git a/src/testdir/test89.in b/src/testdir/test89.in
index 8e53c91..fc3a9a2 100644
--- a/src/testdir/test89.in
+++ b/src/testdir/test89.in
@@ -1,6 +1,7 @@
-Some tests for setting 'number' and 'relativenumber'
-This is not all that useful now that the options are no longer reset when
-setting the other.
+- Some tests for setting 'number' and 'relativenumber'
+  This is not all that useful now that the options are no longer reset when
+  setting the other.
+- Some tests for findfile() function
 
 STARTTEST
 :so small.vim
@@ -49,6 +50,17 @@
 :$put g
 :$put h
 :"
+:let cwd=getcwd()
+:cd ../..
+:$put =''
+:$put ='Testing findfile'
+:$put =''
+:$put =findfile('test19.in','src/test*')
+:exe "cd" cwd
+:cd ..
+:$put =findfile('test19.in','test*')
+:$put =findfile('test19.in','testdir')
+:exe "cd" cwd
 :/^results/,$w! test.out
 :q!
 ENDTEST
diff --git a/src/testdir/test89.ok b/src/testdir/test89.ok
index 17bb5d7..9003475 100644
--- a/src/testdir/test89.ok
+++ b/src/testdir/test89.ok
@@ -20,3 +20,9 @@
   number
 
   relativenumber
+
+Testing findfile
+
+src/testdir/test19.in
+testdir/test19.in
+testdir/test19.in
diff --git a/src/version.c b/src/version.c
index e06aa6a..ea51c18 100644
--- a/src/version.c
+++ b/src/version.c
@@ -729,6 +729,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1297,
+/**/
     1296,
 /**/
     1295,
