diff --git a/src/drawscreen.c b/src/drawscreen.c
index 960bd69..d177370 100644
--- a/src/drawscreen.c
+++ b/src/drawscreen.c
@@ -1699,11 +1699,6 @@
 		top_end = 1;
 #endif
 	}
-
-	// When line numbers are displayed need to redraw all lines below
-	// inserted/deleted lines.
-	if (mod_top != 0 && buf->b_mod_xlines != 0 && wp->w_p_nu)
-	    mod_bot = MAXLNUM;
     }
     wp->w_redraw_top = 0;	// reset for next time
     wp->w_redraw_bot = 0;
@@ -2540,11 +2535,16 @@
 	}
 	else
 	{
-	    if (wp->w_p_rnu && wp->w_last_cursor_lnum_rnu != wp->w_cursor.lnum)
+	    // If:
+	    // - 'number' is set and below inserted/deleted lines, or
+	    // - 'relativenumber' is set and cursor moved vertically,
+	    // the text doesn't need to be redrawn, but the number column does.
+	    if ((wp->w_p_nu && mod_top != 0
+			&& lnum >= mod_bot && buf->b_mod_xlines != 0)
+		    || (wp->w_p_rnu
+			&& wp->w_last_cursor_lnum_rnu != wp->w_cursor.lnum))
 	    {
 #ifdef FEAT_FOLDING
-		// 'relativenumber' set and the cursor moved vertically: The
-		// text doesn't need to be drawn, but the number column does.
 		fold_count = foldedCount(wp, lnum, &win_foldinfo);
 		if (fold_count != 0)
 		    fold_line(wp, fold_count, &win_foldinfo, lnum, row);
diff --git a/src/testdir/dumps/Test_number_insert_delete_lines_1.dump b/src/testdir/dumps/Test_number_insert_delete_lines_1.dump
new file mode 100644
index 0000000..5aecb46
--- /dev/null
+++ b/src/testdir/dumps/Test_number_insert_delete_lines_1.dump
@@ -0,0 +1,8 @@
+| +0#af5f00255#ffffff0@1|1| |1+0#0000000&| @69
+| +0#af5f00255&@1|2| >2+0#0000000&| @69
+| +0#af5f00255&@1|3| |3+0#0000000&| @69
+| +0#af5f00255&@1|4| |4+0#0000000&| @69
+| +0#af5f00255&@1|5| |5+0#0000000&| @69
+| +0#af5f00255&@1|6| |6+0#0000000&| @69
+| +0#af5f00255&@1|7| |7+0#0000000&| @69
+@57|2|,|1| @10|A|l@1| 
diff --git a/src/testdir/dumps/Test_number_insert_delete_lines_2.dump b/src/testdir/dumps/Test_number_insert_delete_lines_2.dump
new file mode 100644
index 0000000..dea68e8
--- /dev/null
+++ b/src/testdir/dumps/Test_number_insert_delete_lines_2.dump
@@ -0,0 +1,8 @@
+| +0#af5f00255#ffffff0@1|1| |1+0#0000000&| @69
+| +0#af5f00255&@1|2| >3+0#0000000&| @69
+| +0#af5f00255&@1|3| |4+0#0000000&| @69
+| +0#af5f00255&@1|4| |5+0#0000000&| @69
+| +0#af5f00255&@1|5| |6+0#0000000&| @69
+| +0#af5f00255&@1|6| |7+0#0000000&| @69
+|~+0#4040ff13&| @73
+| +0#0000000&@56|2|,|1| @10|A|l@1| 
diff --git a/src/testdir/dumps/Test_number_insert_delete_lines_3.dump b/src/testdir/dumps/Test_number_insert_delete_lines_3.dump
new file mode 100644
index 0000000..fff3297
--- /dev/null
+++ b/src/testdir/dumps/Test_number_insert_delete_lines_3.dump
@@ -0,0 +1,8 @@
+| +0#af5f00255#ffffff0@1|1| |1+0#0000000&| @69
+| +0#af5f00255&@1|2| >4+0#0000000&| @69
+| +0#af5f00255&@1|3| |5+0#0000000&| @69
+| +0#af5f00255&@1|4| |6+0#0000000&| @69
+| +0#af5f00255&@1|5| |7+0#0000000&| @69
+|~+0#4040ff13&| @73
+|~| @73
+| +0#0000000&@56|2|,|1| @10|A|l@1| 
diff --git a/src/testdir/test_number.vim b/src/testdir/test_number.vim
index 6ac3c4c..b57c1ed 100644
--- a/src/testdir/test_number.vim
+++ b/src/testdir/test_number.vim
@@ -146,8 +146,7 @@
   call s:close_windows()
 endfunc
 
-" Pending: https://groups.google.com/forum/#!topic/vim_dev/tzNKP7EDWYI
-func XTest_number_with_linewrap2()
+func Test_number_with_linewrap2()
   call s:test_windows(3, 20)
   normal! 61ia
   setl number wrap
@@ -164,8 +163,7 @@
   call s:close_windows()
 endfunc
 
-" Pending: https://groups.google.com/forum/#!topic/vim_dev/tzNKP7EDWYI
-func XTest_number_with_linewrap3()
+func Test_number_with_linewrap3()
   call s:test_windows(4, 20)
   normal! 81ia
   setl number wrap
@@ -174,7 +172,7 @@
   call s:validate_cursor()
   let lines = s:screen_lines(1, 4)
   let expect = [
-\ "aaaaaaaa",
+\ "<<<aaaaa",
 \ "aaaaaaaa",
 \ "aaaaaaaa",
 \ "a       ",
@@ -349,6 +347,31 @@
   call StopVimInTerminal(buf)
 endfunc
 
+" Test that line numbers below inserted/deleted lines are updated.
+func Test_number_insert_delete_lines()
+  CheckScreendump
+
+  let lines =<< trim END
+      call setline(1, range(1, 7))
+      set number
+      call cursor(2, 1)
+  END
+  call writefile(lines, 'Xnumber_insert_delete_lines', 'D')
+
+  let buf = RunVimInTerminal('-S Xnumber_insert_delete_lines', #{rows: 8})
+  call VerifyScreenDump(buf, 'Test_number_insert_delete_lines_1', {})
+  call term_sendkeys(buf, "dd")
+  call VerifyScreenDump(buf, 'Test_number_insert_delete_lines_2', {})
+  call term_sendkeys(buf, "P")
+  call VerifyScreenDump(buf, 'Test_number_insert_delete_lines_1', {})
+  call term_sendkeys(buf, "2dd")
+  call VerifyScreenDump(buf, 'Test_number_insert_delete_lines_3', {})
+  call term_sendkeys(buf, "P")
+  call VerifyScreenDump(buf, 'Test_number_insert_delete_lines_1', {})
+
+  call StopVimInTerminal(buf)
+endfunc
+
 " Test for displaying line numbers with 'rightleft'
 func Test_number_rightleft()
   CheckFeature rightleft
diff --git a/src/version.c b/src/version.c
index 7e07e66..e0f30f2 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    83,
+/**/
     82,
 /**/
     81,
