diff --git a/src/message.c b/src/message.c
index dd5f3f5..19defaa 100644
--- a/src/message.c
+++ b/src/message.c
@@ -1980,15 +1980,14 @@
 	attr &= ~MSG_HIST;
     }
 
-    /*
-     * When writing something to the screen after it has scrolled, requires a
-     * wait-return prompt later.  Needed when scrolling, resetting
-     * need_wait_return after some prompt, and then outputting something
-     * without scrolling
-     */
-    if (msg_scrolled != 0 && !msg_scrolled_ign)
+    // When writing something to the screen after it has scrolled, requires a
+    // wait-return prompt later.  Needed when scrolling, resetting
+    // need_wait_return after some prompt, and then outputting something
+    // without scrolling
+    // Not needed when only using CR to move the cursor.
+    if (msg_scrolled != 0 && !msg_scrolled_ign && STRCMP(str, "\r") != 0)
 	need_wait_return = TRUE;
-    msg_didany = TRUE;		/* remember that something was outputted */
+    msg_didany = TRUE;		// remember that something was outputted
 
     /*
      * If there is no valid screen, use fprintf so we can see error messages.
diff --git a/src/testdir/dumps/Test_tselect_1.dump b/src/testdir/dumps/Test_tselect_1.dump
new file mode 100644
index 0000000..cdaee45
--- /dev/null
+++ b/src/testdir/dumps/Test_tselect_1.dump
@@ -0,0 +1,10 @@
+>i+0#00e0003#ffffff0|n|t| +0#0000000&|m|a|i|n|(|)| @39
+|v+0#00e0003&|o|i|d| +0#0000000&|t|e|s|t|(|)| @38
+|~+0#4040ff13&| @48
+|~| @48
+|~| @48
+|~| @48
+|~| @48
+|~| @48
+|~| @48
+|"+0#0000000&|X|t|e|s|t|.|c|"| |2|L|,| |2|3|C| @14|1|,|1| @10|A|l@1| 
diff --git a/src/testdir/test_tagjump.vim b/src/testdir/test_tagjump.vim
index 6d47020..64a0a28 100644
--- a/src/testdir/test_tagjump.vim
+++ b/src/testdir/test_tagjump.vim
@@ -1,5 +1,8 @@
 " Tests for tagjump (tags and special searches)
 
+source check.vim
+source screendump.vim
+
 " SEGV occurs in older versions.  (At least 7.4.1748 or older)
 func Test_ptag_with_notagstack()
   set notagstack
@@ -473,4 +476,34 @@
   let &verbose = old_vbs
 endfunc
 
+" Check that using :tselect does not run into the hit-enter prompt.
+" Requires a terminal to trigger that prompt.
+func Test_tselect()
+  CheckScreendump
+
+  call writefile([
+	\ 'main	Xtest.h	/^void test();$/;"	f',
+	\ 'main	Xtest.c	/^int main()$/;"	f',
+	\ 'main	Xtest.x	/^void test()$/;"	f',
+	\ ], 'Xtags')
+  cal writefile([
+	\ 'int main()',
+	\ 'void test()',
+	\ ], 'Xtest.c')
+
+  let lines =<< trim [SCRIPT]
+    set tags=Xtags
+  [SCRIPT]
+  call writefile(lines, 'XTest_tselect')
+  let buf = RunVimInTerminal('-S XTest_tselect', {'rows': 10, 'cols': 50})
+
+  call term_wait(buf, 100)
+  call term_sendkeys(buf, ":tselect main\<CR>2\<CR>")
+  call VerifyScreenDump(buf, 'Test_tselect_1', {})
+
+  call delete('Xtags')
+  call delete('Xtest.c')
+  call delete('XTest_tselect')
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/version.c b/src/version.c
index 2ddecaf..c92eb26 100644
--- a/src/version.c
+++ b/src/version.c
@@ -754,6 +754,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2141,
+/**/
     2140,
 /**/
     2139,
