diff --git a/src/drawscreen.c b/src/drawscreen.c
index 7927bed..5f531f2 100644
--- a/src/drawscreen.c
+++ b/src/drawscreen.c
@@ -2009,14 +2009,41 @@
 		    ve_flags = VE_ALL;
 #endif
 		getvcols(wp, &VIsual, &curwin->w_cursor, &fromc, &toc);
+		++toc;
 #if defined(FEAT_LINEBREAK)
 		ve_flags = save_ve_flags;
 #endif
-		++toc;
 		// Highlight to the end of the line, unless 'virtualedit' has
 		// "block".
-		if (curwin->w_curswant == MAXCOL && !(ve_flags & VE_BLOCK))
-		    toc = MAXCOL;
+		if (curwin->w_curswant == MAXCOL)
+		{
+		    if (ve_flags & VE_BLOCK)
+		    {
+			pos_T	    pos;
+			int	    cursor_above =
+					   curwin->w_cursor.lnum < VIsual.lnum;
+
+			// Need to find the longest line.
+			toc = 0;
+			pos.coladd = 0;
+			for (pos.lnum = curwin->w_cursor.lnum; cursor_above
+					? pos.lnum <= VIsual.lnum
+					: pos.lnum >= VIsual.lnum;
+					     pos.lnum += cursor_above ? 1 : -1)
+			{
+			    colnr_T t;
+
+			    pos.col = STRLEN(ml_get_buf(wp->w_buffer,
+							     pos.lnum, FALSE));
+			    getvvcol(wp, &pos, NULL, NULL, &t);
+			    if (toc < t)
+				toc = t;
+			}
+			++toc;
+		    }
+		    else
+			toc = MAXCOL;
+		}
 
 		if (fromc != wp->w_old_cursor_fcol
 			|| toc != wp->w_old_cursor_lcol)
