diff --git a/src/mark.c b/src/mark.c
index 85f7b68..9f6a9cc 100644
--- a/src/mark.c
+++ b/src/mark.c
@@ -138,28 +138,26 @@
 {
     int		i;
 
-    for (i = 0; i < wp->w_jumplistlen; ++i)
+    for (i = wp->w_jumplistlen - 1; i >= 0; --i)
 	if (wp->w_jumplist[i].fmark.fnum == fnum)
 	{
 	    vim_free(wp->w_jumplist[i].fname);
-	    mch_memmove(&wp->w_jumplist[i], &wp->w_jumplist[i + 1],
-		    (wp->w_jumplistlen - i - 1) * sizeof(xfmark_T));
 	    if (wp->w_jumplistidx > i)
 		--wp->w_jumplistidx;
 	    --wp->w_jumplistlen;
-	    --i;
+	    mch_memmove(&wp->w_jumplist[i], &wp->w_jumplist[i + 1],
+			(wp->w_jumplistlen - i) * sizeof(wp->w_jumplist[i]));
 	}
 
-    for (i = 0; i < wp->w_tagstacklen; i++)
+    for (i = wp->w_tagstacklen - 1; i >= 0; --i)
 	if (wp->w_tagstack[i].fmark.fnum == fnum)
 	{
 	    tagstack_clear_entry(&wp->w_tagstack[i]);
-	    mch_memmove(&wp->w_tagstack[i], &wp->w_tagstack[i + 1],
-		    (wp->w_tagstacklen - i - 1) * sizeof(taggy_T));
 	    if (wp->w_tagstackidx > i)
 		--wp->w_tagstackidx;
 	    --wp->w_tagstacklen;
-	    --i;
+	    mch_memmove(&wp->w_tagstack[i], &wp->w_tagstack[i + 1],
+			(wp->w_tagstacklen - i) * sizeof(wp->w_tagstack[i]));
 	}
 }
 
