diff --git a/src/change.c b/src/change.c
index 038f3c1..67b7023 100644
--- a/src/change.c
+++ b/src/change.c
@@ -709,6 +709,13 @@
     changedOneline(curbuf, lnum);
     changed_common(lnum, col, lnum + 1, 0L);
 
+#ifdef FEAT_SPELL
+    // When text has been changed at the end of the line, possibly the start of
+    // the next line may have SpellCap that should be removed or it needs to be
+    // displayed.  Schedule the next line for redrawing just in case.
+    if (spell_check_window(curwin) && lnum < curbuf->b_ml.ml_line_count)
+	redrawWinline(curwin, lnum + 1);
+#endif
 #ifdef FEAT_DIFF
     // Diff highlighting in other diff windows may need to be updated too.
     if (curwin->w_p_diff)
diff --git a/src/edit.c b/src/edit.c
index 2ac544a..4479964 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -3607,13 +3607,6 @@
 
 #ifdef FEAT_SPELL
     check_spell_redraw();
-
-    // When text has been changed in this line, possibly the start of the next
-    // line may have SpellCap that should be removed or it needs to be
-    // displayed.  Schedule the next line for redrawing just in case.
-    if (spell_check_window(curwin)
-			 && curwin->w_cursor.lnum < curbuf->b_ml.ml_line_count)
-	redrawWinline(curwin, curwin->w_cursor.lnum + 1);
 #endif
 
     temp = curwin->w_cursor.col;
diff --git a/src/testdir/dumps/Test_spell_4.dump b/src/testdir/dumps/Test_spell_4.dump
new file mode 100644
index 0000000..c49dc84
--- /dev/null
+++ b/src/testdir/dumps/Test_spell_4.dump
@@ -0,0 +1,8 @@
+| +0&#ffffff0@2|T|h|i|s| |l|i|n|e| |h|a|s| |a| |s+0&#ffd7d7255|e|p|l@1| +0&#ffffff0|e|r@1|o|r|.| |a+0&#5fd7ff255|n|d| +0&#ffffff0|m|i|s@1|i|n|g| |c|a|p|s| |a|n|d| |t|r|a|i|l|i|n|g| |s|p|a|c|e|s|.| @5
+|a+0&#5fd7ff255|n|o|t|h|e|r| +0&#ffffff0|m|i|s@1|i|n|g| |c|a|p| |h|e|r|e|.| @49
+|N|o|t| @71
+|a|n|d| |h|e|r>e| @66
+|a|n|d| |h|e|r|e|.| @65
+|~+0#4040ff13&| @73
+|~| @73
+| +0#0000000&@56|4|,|8| @10|A|l@1| 
diff --git a/src/testdir/dumps/Test_spell_5.dump b/src/testdir/dumps/Test_spell_5.dump
new file mode 100644
index 0000000..a23ce5c
--- /dev/null
+++ b/src/testdir/dumps/Test_spell_5.dump
@@ -0,0 +1,8 @@
+| +0&#ffffff0@2|T|h|i|s| |l|i|n|e| |h|a|s| |a| |s+0&#ffd7d7255|e|p|l@1| +0&#ffffff0|e|r@1|o|r|.| |a+0&#5fd7ff255|n|d| +0&#ffffff0|m|i|s@1|i|n|g| |c|a|p|s| |a|n|d| |t|r|a|i|l|i|n|g| |s|p|a|c|e|s|.| @5
+|a+0&#5fd7ff255|n|o|t|h|e|r| +0&#ffffff0|m|i|s@1|i|n|g| |c|a|p| |h|e|r|e|.| @49
+|N|o|t| @71
+|a|n|d| |h|e|r|e>.| @65
+|a+0&#5fd7ff255|n|d| +0&#ffffff0|h|e|r|e|.| @65
+|~+0#4040ff13&| @73
+|~| @73
+| +0#0000000&@56|4|,|9| @10|A|l@1| 
diff --git a/src/testdir/test_spell.vim b/src/testdir/test_spell.vim
index 90c6d53..3712b54 100644
--- a/src/testdir/test_spell.vim
+++ b/src/testdir/test_spell.vim
@@ -987,6 +987,14 @@
   call term_sendkeys(buf, "3GANot\<Esc>")
   call VerifyScreenDump(buf, 'Test_spell_3', {})
 
+  " Deleting a full stop removes missing Cap in next line
+  call term_sendkeys(buf, "5Gddk$x")
+  call VerifyScreenDump(buf, 'Test_spell_4', {})
+
+  " Undo also updates the next line (go to command line to remove message)
+  call term_sendkeys(buf, "u:\<Esc>")
+  call VerifyScreenDump(buf, 'Test_spell_5', {})
+
   " clean up
   call StopVimInTerminal(buf)
   call delete('XtestSpellCap')
diff --git a/src/undo.c b/src/undo.c
index 3b35452..60172a7 100644
--- a/src/undo.c
+++ b/src/undo.c
@@ -2835,7 +2835,16 @@
 		curbuf->b_op_end.lnum += newsize - oldsize;
 	}
 	if (oldsize > 0 || newsize > 0)
+	{
 	    changed_lines(top + 1, 0, bot, newsize - oldsize);
+#ifdef FEAT_SPELL
+	    // When text has been changed, possibly the start of the next line
+	    // may have SpellCap that should be removed or it needs to be
+	    // displayed.  Schedule the next line for redrawing just in case.
+	    if (spell_check_window(curwin) && bot <= curbuf->b_ml.ml_line_count)
+		redrawWinline(curwin, bot);
+#endif
+	}
 
 	// Set the '[ mark.
 	if (top + 1 < curbuf->b_op_start.lnum)
diff --git a/src/version.c b/src/version.c
index 8e438af..ea6f9d3 100644
--- a/src/version.c
+++ b/src/version.c
@@ -700,6 +700,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    608,
+/**/
     607,
 /**/
     606,
