diff --git a/src/bufwrite.c b/src/bufwrite.c
index c9d9875..23cd884 100644
--- a/src/bufwrite.c
+++ b/src/bufwrite.c
@@ -1350,7 +1350,7 @@
 		p = copybuf + STRLEN(copybuf);
 		if (after_pathsep(copybuf, p) && p[-1] == p[-2])
 		    // Ends with '//', use full path
-		    if ((p = make_percent_swname(copybuf, fname)) != NULL)
+		    if ((p = make_percent_swname(copybuf, p, fname)) != NULL)
 		    {
 			backup = modname(p, backup_ext, FALSE);
 			vim_free(p);
@@ -1564,7 +1564,7 @@
 		p = IObuff + STRLEN(IObuff);
 		if (after_pathsep(IObuff, p) && p[-1] == p[-2])
 		    // path ends with '//', use full path
-		    if ((p = make_percent_swname(IObuff, fname)) != NULL)
+		    if ((p = make_percent_swname(IObuff, p, fname)) != NULL)
 		    {
 			backup = modname(p, backup_ext, FALSE);
 			vim_free(p);
diff --git a/src/memline.c b/src/memline.c
index 9e579cd..b93eb0a 100644
--- a/src/memline.c
+++ b/src/memline.c
@@ -1975,7 +1975,7 @@
 		if (after_pathsep(dir_name, p) && len > 1 && p[-1] == p[-2])
 		{
 		    // Ends with '//', Use Full path for swap name
-		    tail = make_percent_swname(dir_name, fname_res);
+		    tail = make_percent_swname(dir_name, p, fname_res);
 		}
 		else
 #endif
@@ -2143,7 +2143,7 @@
  * removed.
  */
     char_u *
-make_percent_swname(char_u *dir, char_u *name)
+make_percent_swname(char_u *dir, char_u *dir_end, char_u *name)
 {
     char_u *d = NULL, *s, *f;
 
@@ -2159,7 +2159,7 @@
 	    if (vim_ispathsep(*d))
 		*d = '%';
 
-	dir[STRLEN(dir) - 1] = NUL;  // remove one trailing slash
+	dir_end[-1] = NUL;  // remove one trailing slash
 	d = concat_fnames(dir, s, TRUE);
 	vim_free(s);
     }
@@ -4676,7 +4676,7 @@
     if (after_pathsep(dir_name, s) && len > 1 && s[-1] == s[-2])
     {			       // Ends with '//', Use Full path
 	r = NULL;
-	if ((s = make_percent_swname(dir_name, fname_res)) != NULL)
+	if ((s = make_percent_swname(dir_name, s, fname_res)) != NULL)
 	{
 	    r = modname(s, (char_u *)".swp", FALSE);
 	    vim_free(s);
diff --git a/src/proto/memline.pro b/src/proto/memline.pro
index c5d9b5d..238bcea 100644
--- a/src/proto/memline.pro
+++ b/src/proto/memline.pro
@@ -11,7 +11,7 @@
 void ml_timestamp(buf_T *buf);
 void ml_recover(int checkext);
 int recover_names(char_u *fname, int do_list, list_T *ret_list, int nr, char_u **fname_out);
-char_u *make_percent_swname(char_u *dir, char_u *name);
+char_u *make_percent_swname(char_u *dir, char_u *dir_end, char_u *name);
 void get_b0_dict(char_u *fname, dict_T *d);
 void ml_sync_all(int check_file, int check_char);
 void ml_preserve(buf_T *buf, int message);
diff --git a/src/version.c b/src/version.c
index 3d6e3a8..f434a13 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    615,
+/**/
     614,
 /**/
     613,
