diff --git a/src/misc1.c b/src/misc1.c
index fbb1081..dce912c 100644
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -1427,8 +1427,12 @@
 	/* Postpone calling changed_lines(), because it would mess up folding
 	 * 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)
+	 * be marks there. But still needed in diff mode. */
+	if (curwin->w_cursor.lnum + 1 < curbuf->b_ml.ml_line_count
+#ifdef FEAT_DIFF
+		|| curwin->w_p_diff
+#endif
+	    )
 	    mark_adjust(curwin->w_cursor.lnum + 1, (linenr_T)MAXLNUM, 1L, 0L);
 	did_append = TRUE;
     }
@@ -2863,8 +2867,12 @@
 appended_lines_mark(linenr_T lnum, long count)
 {
     /* 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)
+     * be marks there. But it's still needed in diff mode. */
+    if (lnum + count < curbuf->b_ml.ml_line_count
+#ifdef FEAT_DIFF
+	    || curwin->w_p_diff
+#endif
+	)
 	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 d23b307..757c115 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -3927,9 +3927,13 @@
 		    curbuf->b_op_start.lnum++;
 	    }
 	    /* Skip mark_adjust when adding lines after the last one, there
-	     * can't be marks there. */
+	     * can't be marks there. But still needed in diff mode. */
 	    if (curbuf->b_op_start.lnum + (y_type == MCHAR) - 1 + nr_lines
-						 < curbuf->b_ml.ml_line_count)
+						 < curbuf->b_ml.ml_line_count
+#ifdef FEAT_DIFF
+						 || curwin->w_p_diff
+#endif
+						 )
 		mark_adjust(curbuf->b_op_start.lnum + (y_type == MCHAR),
 					     (linenr_T)MAXLNUM, nr_lines, 0L);
 
@@ -6311,7 +6315,7 @@
 
 /*
  * Routine to export any final X selection we had to the environment
- * so that the text is still available after vim has exited. X selections
+ * so that the text is still available after Vim has exited. X selections
  * only exist while the owning application exists, so we write to the
  * permanent (while X runs) store CUT_BUFFER0.
  * Dump the CLIPBOARD selection if we own it (it's logically the more
diff --git a/src/testdir/test_diffmode.vim b/src/testdir/test_diffmode.vim
index c3d4be9..33617c9 100644
--- a/src/testdir/test_diffmode.vim
+++ b/src/testdir/test_diffmode.vim
@@ -347,3 +347,23 @@
   call assert_fails('norm do', 'E21:')
   %bwipe!
 endfunc
+
+func Test_diff_lastline()
+  enew!
+  only!
+  call setline(1, ['This is a ', 'line with five ', 'rows'])
+  diffthis
+  botright vert new
+  call setline(1, ['This is', 'a line with ', 'four rows'])
+  diffthis
+  1
+  call feedkeys("Je a\<CR>", 'tx')
+  call feedkeys("Je a\<CR>", 'tx')
+  let w1lines = winline()
+  wincmd w
+  $
+  let w2lines = winline()
+  call assert_equal(w2lines, w1lines)
+  bwipe!
+  bwipe!
+endfunc
diff --git a/src/version.c b/src/version.c
index f3a0b6c..c55ba19 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    421,
+/**/
     420,
 /**/
     419,
