diff --git a/src/testdir/dumps/Test_popup_command_01.dump b/src/testdir/dumps/Test_popup_command_01.dump
index 2657f02..8d0cd9c 100644
--- a/src/testdir/dumps/Test_popup_command_01.dump
+++ b/src/testdir/dumps/Test_popup_command_01.dump
@@ -1,5 +1,5 @@
 |o+0&#ffffff0|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e| @51
-|a|n|d| |o|n|e| |t|w|o| |X|t|h|r|e@1| |f|o|u|r| |f|i|v|e| @46
+|a|n|d| |o|n|e| |t|w|o| >X|t|h|r|e@1| |f|o|u|r| |f|i|v|e| @46
 |o|n|e| |m|o|r|e| |t|w| +0#0000001#ffd7ff255|U|n|d|o| @12| +0#0000000#ffffff0@45
 |~+0#4040ff13&| @9| +0#0000001#ffd7ff255@17| +0#4040ff13#ffffff0@45
 |~| @9| +0#0000001#ffd7ff255|P|a|s|t|e| @11| +0#4040ff13#ffffff0@45
@@ -17,4 +17,4 @@
 |~| @73
 |~| @73
 |~| @73
-|:+0#0000000&|p|o|p|u|p| |P|o|p|U|p| @34|:| @8> @17
+|:+0#0000000&|p|o|p|u|p| |P|o|p|U|p| @62
diff --git a/src/testdir/dumps/Test_popup_command_02.dump b/src/testdir/dumps/Test_popup_command_02.dump
index 87ec419..e33ea4d 100644
--- a/src/testdir/dumps/Test_popup_command_02.dump
+++ b/src/testdir/dumps/Test_popup_command_02.dump
@@ -17,4 +17,4 @@
 |~| @73
 |~| @73
 |~| @73
-|:+0#0000000&|p|o|p|u|p| |P|o|p|U|p| @34|:| @8| @17
+|:+0#0000000&|p|o|p|u|p| |P|o|p|U|p| @62
diff --git a/src/testdir/screendump.vim b/src/testdir/screendump.vim
index 87a5823..d4fae07 100644
--- a/src/testdir/screendump.vim
+++ b/src/testdir/screendump.vim
@@ -59,6 +59,9 @@
   let buf = term_start(cmd, {'curwin': 1, 'term_rows': rows, 'term_cols': cols})
   call assert_equal([rows, cols], term_getsize(buf))
 
+  " Wait for the ruler (in the status line) to be shown.
+  call WaitFor({-> len(term_getline(buf, rows)) >= cols - 1})
+
   return buf
 endfunc
 
diff --git a/src/testdir/test_autocmd.vim b/src/testdir/test_autocmd.vim
index af7aaff..61adcae 100644
--- a/src/testdir/test_autocmd.vim
+++ b/src/testdir/test_autocmd.vim
@@ -1315,6 +1315,8 @@
   call writefile([''], 'Xchanged.txt')
   let buf = term_start([GetVimProg(), '--clean', '-c', 'set noswapfile'], {'term_rows': 3})
   call assert_equal('running', term_getstatus(buf))
+  " Wait for the ruler (in the status line) to be shown.
+  call WaitFor({-> term_getline(buf, 3) =~# '\<All$'})
   " It's only adding autocmd, so that no event occurs.
   call term_sendkeys(buf, ":au! TextChanged <buffer> call writefile(['No'], 'Xchanged.txt')\<cr>")
   call term_sendkeys(buf, "\<C-\\>\<C-N>:qa!\<cr>")
diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim
index d0ef325..eac54c1 100644
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -975,7 +975,7 @@
 func Check_dump01(off)
   call assert_equal('one two three four five', trim(getline(a:off + 1)))
   call assert_equal('~           Select Word', trim(getline(a:off + 7)))
-  call assert_equal(':popup PopUp                                   :', trim(getline(a:off + 20)))
+  call assert_equal(':popup PopUp', trim(getline(a:off + 20)))
 endfunc
 
 func Test_terminal_dumpwrite_composing()
diff --git a/src/version.c b/src/version.c
index b709f71..791549c 100644
--- a/src/version.c
+++ b/src/version.c
@@ -763,6 +763,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1653,
+/**/
     1652,
 /**/
     1651,
