diff --git a/src/normal.c b/src/normal.c
index 06595e9..8d4cf09 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -2326,10 +2326,10 @@
 
     if (c == K_MOUSEMOVE)
     {
-	/* Mouse moved without a button pressed. */
+	// Mouse moved without a button pressed.
 #ifdef FEAT_BEVAL_TERM
 	ui_may_remove_balloon();
-	if (p_bevalterm && !VIsual_active)
+	if (p_bevalterm)
 	{
 	    profile_setlimit(p_bdlay, &bevalexpr_due);
 	    bevalexpr_due_set = TRUE;
diff --git a/src/testdir/dumps/Test_balloon_eval_term_01.dump b/src/testdir/dumps/Test_balloon_eval_term_01.dump
index 20a7197..4ffeb8f 100644
--- a/src/testdir/dumps/Test_balloon_eval_term_01.dump
+++ b/src/testdir/dumps/Test_balloon_eval_term_01.dump
@@ -1,8 +1,8 @@
 >o+0&#ffffff0|n|e| |o|n|e| |o|n|e| @38
 @2|o| |t|X|o| |t|w|o| @38
-|t|h|r|e| +0#0000001#ffd7ff255@16| +0#0000000#ffffff0@28
-|~+0#4040ff13&| @2| +0#0000001#ffd7ff255|l|i|n|e| |2| |c|o|l|u|m|n| |6| | +0#4040ff13#ffffff0@28
-|~| @2| +0#0000001#ffd7ff255@16| +0#4040ff13#ffffff0@28
+|t|h|r|e| +0#0000001#ffd7ff255@21| +0#0000000#ffffff0@23
+|~+0#4040ff13&| @2| +0#0000001#ffd7ff255|l|i|n|e| |2| |c|o|l|u|m|n| |6|:| |t|X|o| | +0#4040ff13#ffffff0@23
+|~| @2| +0#0000001#ffd7ff255@21| +0#4040ff13#ffffff0@23
 |~| @48
 |~| @48
 |~| @48
diff --git a/src/testdir/dumps/Test_balloon_eval_term_02.dump b/src/testdir/dumps/Test_balloon_eval_term_02.dump
new file mode 100644
index 0000000..4f4b788
--- /dev/null
+++ b/src/testdir/dumps/Test_balloon_eval_term_02.dump
@@ -0,0 +1,10 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| @38
+@2|o| |t|X|o| |t|w|o| @38
+|t|h|r|e|e+0&#e0e0e08| |t|h>r+0&#ffffff0|e@1| |t|h|r|e@1| @32
+|~+0#4040ff13&| @2| +0#0000001#ffd7ff255@23| +0#4040ff13#ffffff0@21
+|~| @2| +0#0000001#ffd7ff255|l|i|n|e| |3| |c|o|l|u|m|n| |5|:| |e| |t|h|r| | +0#4040ff13#ffffff0@21
+|~| @2| +0#0000001#ffd7ff255@23| +0#4040ff13#ffffff0@21
+|~| @48
+|~| @48
+|~| @48
+|-+2#0000000&@1| |V|I|S|U|A|L| |-@1| +0&&@9|5| @8|3|,|9| @10|A|l@1| 
diff --git a/src/testdir/test_balloon.vim b/src/testdir/test_balloon.vim
index e518755..966587c 100644
--- a/src/testdir/test_balloon.vim
+++ b/src/testdir/test_balloon.vim
@@ -9,19 +9,24 @@
   finish
 endif
 
-func Test_balloon_eval_term()
-  call writefile([
+let s:common_script = [
 	\ 'call setline(1, ["one one one", "two tXo two", "three three three"])',
 	\ 'set balloonevalterm balloonexpr=MyBalloonExpr() balloondelay=100',
 	\ 'func MyBalloonExpr()',
-	\ ' return "line " . v:beval_lnum . " column " . v:beval_col',
+	\ ' return "line " .. v:beval_lnum .. " column " .. v:beval_col .. ": " .. v:beval_text',
 	\ 'endfun',
 	\ 'redraw',
+	\ ]
+
+func Test_balloon_eval_term()
+  " Use <Ignore> after <MouseMove> to return from vgetc() without removing
+  " the balloon.
+  call writefile(s:common_script + [
 	\ 'call test_setmouse(2, 6)',
 	\ 'call feedkeys("\<MouseMove>\<Ignore>", "xt")',
 	\ ], 'XTest_beval')
 
-  " Check that the balloon shows up
+  " Check that the balloon shows up after a mouse move
   let buf = RunVimInTerminal('-S XTest_beval', {'rows': 10, 'cols': 50})
   call term_wait(buf, 100)
   call VerifyScreenDump(buf, 'Test_balloon_eval_term_01', {})
@@ -30,3 +35,21 @@
   call StopVimInTerminal(buf)
   call delete('XTest_beval')
 endfunc
+
+func Test_balloon_eval_term_visual()
+  " Use <Ignore> after <MouseMove> to return from vgetc() without removing
+  " the balloon.
+  call writefile(s:common_script + [
+	\ 'call test_setmouse(3, 6)',
+	\ 'call feedkeys("3Gevfr\<MouseMove>\<Ignore>", "xt")',
+	\ ], 'XTest_beval_visual')
+
+  " Check that the balloon shows up after a mouse move
+  let buf = RunVimInTerminal('-S XTest_beval_visual', {'rows': 10, 'cols': 50})
+  call term_wait(buf, 100)
+  call VerifyScreenDump(buf, 'Test_balloon_eval_term_02', {})
+
+  " clean up
+  call StopVimInTerminal(buf)
+  call delete('XTest_beval_visual')
+endfunc
diff --git a/src/version.c b/src/version.c
index 6f6456b..96c72fa 100644
--- a/src/version.c
+++ b/src/version.c
@@ -768,6 +768,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1302,
+/**/
     1301,
 /**/
     1300,
