diff --git a/src/regexp_bt.c b/src/regexp_bt.c
index e3e7a18..5206567 100644
--- a/src/regexp_bt.c
+++ b/src/regexp_bt.c
@@ -3441,11 +3441,13 @@
 	  case RE_VCOL:
 	    {
 		win_T	    *wp = rex.reg_win == NULL ? curwin : rex.reg_win;
-		linenr_T    lnum = rex.reg_firstlnum + rex.lnum;
-		long_u	    vcol = 0;
+		linenr_T    lnum = REG_MULTI ? rex.reg_firstlnum + rex.lnum : 1;
+		long_u	    vcol;
 
-		if (lnum >= 0 && lnum <= wp->w_buffer->b_ml.ml_line_count)
-		    vcol = (long_u)win_linetabsize(wp, lnum, rex.line,
+		if (REG_MULTI && (lnum <= 0
+				   || lnum > wp->w_buffer->b_ml.ml_line_count))
+		    lnum = 1;
+		vcol = (long_u)win_linetabsize(wp, lnum, rex.line,
 					      (colnr_T)(rex.input - rex.line));
 		if (!re_num_cmp(vcol + 1, scan))
 		    status = RA_NOMATCH;
diff --git a/src/regexp_nfa.c b/src/regexp_nfa.c
index b398489..fc1a993 100644
--- a/src/regexp_nfa.c
+++ b/src/regexp_nfa.c
@@ -6775,12 +6775,14 @@
 		    }
 		    if (!result)
 		    {
-			linenr_T    lnum = rex.reg_firstlnum + rex.lnum;
-			long_u	    vcol = 0;
+			linenr_T    lnum = REG_MULTI
+					    ? rex.reg_firstlnum + rex.lnum : 1;
+			long_u	    vcol;
 
-			if (lnum >= 0
-				   && lnum <= wp->w_buffer->b_ml.ml_line_count)
-			    vcol = (long_u)win_linetabsize(wp, lnum,
+			if (REG_MULTI && (lnum <= 0
+				   || lnum > wp->w_buffer->b_ml.ml_line_count))
+			    lnum = 1;
+			vcol = (long_u)win_linetabsize(wp, lnum,
 								rex.line, col);
 			result = nfa_re_num_cmp(t->state->val, op, vcol + 1);
 		    }
diff --git a/src/testdir/test_regexp_latin.vim b/src/testdir/test_regexp_latin.vim
index 6f3ffe2..8df357f 100644
--- a/src/testdir/test_regexp_latin.vim
+++ b/src/testdir/test_regexp_latin.vim
@@ -1145,7 +1145,13 @@
 enddef
 
 def Test_compare_column_matchstr()
+  # do some search in text to set the line number, it should be ignored in
+  # matchstr().
   enew
+  setline(1, ['one', 'two', 'three'])
+  :3 
+  :/ee
+  bwipe!
   set re=1
   call assert_equal('aaa', matchstr('aaaaaaaaaaaaaaaaaaaa', '.*\%<5v'))
   set re=2
diff --git a/src/version.c b/src/version.c
index bff11c7..5fdf817 100644
--- a/src/version.c
+++ b/src/version.c
@@ -704,6 +704,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    414,
+/**/
     413,
 /**/
     412,
