diff -r ef341d8811b2 src/misc1.c
--- a/src/misc1.c	Mon Apr 15 22:22:58 2013 +0200
+++ b/src/misc1.c	Thu Apr 18 20:06:46 2013 +0800
@@ -10099,19 +10099,20 @@
 
 	if (buf[0] == '.' && (buf[1] == NUL || vim_ispathsep(buf[1])))
 	{
+	    int ps_offset = 1; // Path separator offset
 	    /* Relative to current buffer:
 	     * "/path/file" + "." -> "/path/"
 	     * "/path/file"  + "./subdir" -> "/path/subdir" */
 	    if (curbuf->b_ffname == NULL)
 		continue;
 	    p = gettail(curbuf->b_ffname);
-	    len = (int)(p - curbuf->b_ffname);
+	    len = (int)(p - curbuf->b_ffname) - ps_offset;
 	    if (len + (int)STRLEN(buf) >= MAXPATHL)
 		continue;
 	    if (buf[1] == NUL)
 		buf[len] = NUL;
 	    else
-		STRMOVE(buf + len, buf + 2);
+		STRMOVE(buf + len, buf + ps_offset);
 	    mch_memmove(buf, curbuf->b_ffname, len);
 	    simplify_filename(buf);
 	}
diff -r ef341d8811b2 src/testdir/test73.in
--- a/src/testdir/test73.in	Mon Apr 15 22:22:58 2013 +0200
+++ b/src/testdir/test73.in	Thu Apr 18 20:06:46 2013 +0800
@@ -158,6 +158,16 @@
 :" Find the file containing 'E.T.' in the Xfind/in/path directory
 :find file	
 :exec "w >>" . test_out
+:"
+:" Test that completion works when path=.,,
+:"
+:set path=.,,
+:" Open Jimmy Hoffa file
+:e in/file.txt
+:exec "w >>" . test_out
+:" Search for the file containing Holy Grail in same directory as in/path.txt
+:find stu	
+:exec "w >>" . test_out
 :q
 :exec "cd " . cwd
 :call DeleteDirectory("Xfind")
diff -r ef341d8811b2 src/testdir/test73.ok
--- a/src/testdir/test73.ok	Mon Apr 15 22:22:58 2013 +0200
+++ b/src/testdir/test73.ok	Thu Apr 18 20:06:46 2013 +0800
@@ -17,3 +17,5 @@
 Voyager 2
 Jimmy Hoffa
 E.T.
+Jimmy Hoffa
+Another Holy Grail
