patch 7.4.1896
Problem:    Invoking mark_adjust() when adding a new line below the last line
            is pointless.
Solution:   Skip calling mark_adjust() when appending below the last line.
diff --git a/src/misc1.c b/src/misc1.c
index 9fa8578..7969968 100644
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -1425,8 +1425,11 @@
 								      == FAIL)
 	    goto theend;
 	/* Postpone calling changed_lines(), because it would mess up folding
-	 * with markers. */
-	mark_adjust(curwin->w_cursor.lnum + 1, (linenr_T)MAXLNUM, 1L, 0L);
+	 * with markers.
+	 * Skip mark_adjust when adding a line after the last one, there can't
+	 * be marks there. */
+	if (curwin->w_cursor.lnum + 1 < curbuf->b_ml.ml_line_count)
+	    mark_adjust(curwin->w_cursor.lnum + 1, (linenr_T)MAXLNUM, 1L, 0L);
 	did_append = TRUE;
     }
 #ifdef FEAT_VREPLACE
@@ -2861,7 +2864,10 @@
     void
 appended_lines_mark(linenr_T lnum, long count)
 {
-    mark_adjust(lnum + 1, (linenr_T)MAXLNUM, count, 0L);
+    /* Skip mark_adjust when adding a line after the last one, there can't
+     * be marks there. */
+    if (lnum + count < curbuf->b_ml.ml_line_count)
+	mark_adjust(lnum + 1, (linenr_T)MAXLNUM, count, 0L);
     changed_lines(lnum + 1, 0, lnum + 1, count);
 }
 
diff --git a/src/ops.c b/src/ops.c
index 983d9d0..35f2d2e 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -3885,7 +3885,11 @@
 		if (dir == FORWARD)
 		    curbuf->b_op_start.lnum++;
 	    }
-	    mark_adjust(curbuf->b_op_start.lnum + (y_type == MCHAR),
+	    /* Skip mark_adjust when adding lines after the last one, there
+	     * can't be marks there. */
+	    if (curbuf->b_op_start.lnum + (y_type == MCHAR) - 1 + nr_lines
+						 < curbuf->b_ml.ml_line_count)
+		mark_adjust(curbuf->b_op_start.lnum + (y_type == MCHAR),
 					     (linenr_T)MAXLNUM, nr_lines, 0L);
 
 	    /* note changed text for displaying and folding */
diff --git a/src/version.c b/src/version.c
index 1e7c2f2..c6ebdc4 100644
--- a/src/version.c
+++ b/src/version.c
@@ -754,6 +754,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1896,
+/**/
     1895,
 /**/
     1894,