diff --git a/src/errors.h b/src/errors.h
index 951acab..82c585e 100644
--- a/src/errors.h
+++ b/src/errors.h
@@ -3082,7 +3082,7 @@
 EXTERN char e_dot_can_only_be_used_on_dictionary_str[]
 	INIT(= N_("E1203: Dot can only be used on a dictionary: %s"));
 #endif
-EXTERN char e_regexp_number_after_dot_pos_search[]
+EXTERN char e_regexp_number_after_dot_pos_search_chr[]
 	INIT(= N_("E1204: No Number allowed after .: '\\%%%c'"));
 EXTERN char e_no_white_space_allowed_between_option_and[]
 	INIT(= N_("E1205: No white space allowed between option and"));
@@ -3256,3 +3256,5 @@
 EXTERN char e_using_type_not_in_script_context_str[]
 	INIT(= N_("E1272: Using type not in a script context: %s"));
 #endif
+EXTERN char e_nfa_regexp_missing_value_in_chr[]
+	INIT(= N_("E1273: (NFA regexp) missing value in '\\%%%c'"));
diff --git a/src/regexp_bt.c b/src/regexp_bt.c
index 793faaf..0b3487f 100644
--- a/src/regexp_bt.c
+++ b/src/regexp_bt.c
@@ -1649,7 +1649,8 @@
 			      {
 				  if (cur && n)
 				  {
-				    semsg(_(e_regexp_number_after_dot_pos_search), no_Magic(c));
+				    semsg(_(e_regexp_number_after_dot_pos_search_chr),
+								  no_Magic(c));
 				    rc_did_emsg = TRUE;
 				    return NULL;
 				  }
diff --git a/src/regexp_nfa.c b/src/regexp_nfa.c
index 503895e..d658a6b 100644
--- a/src/regexp_nfa.c
+++ b/src/regexp_nfa.c
@@ -1654,7 +1654,7 @@
 
 			    if (cur)
 			    {
-				semsg(_(e_regexp_number_after_dot_pos_search),
+				semsg(_(e_regexp_number_after_dot_pos_search_chr),
 								  no_Magic(c));
 				return FAIL;
 			    }
@@ -1673,6 +1673,12 @@
 			{
 			    long_u limit = INT_MAX;
 
+			    if (!cur && n == 0)
+			    {
+				semsg(_(e_nfa_regexp_missing_value_in_chr),
+								  no_Magic(c));
+				return FAIL;
+			    }
 			    if (c == 'l')
 			    {
 				if (cur)
diff --git a/src/testdir/test_regexp_latin.vim b/src/testdir/test_regexp_latin.vim
index fc9c81b..dfb367b 100644
--- a/src/testdir/test_regexp_latin.vim
+++ b/src/testdir/test_regexp_latin.vim
@@ -91,6 +91,18 @@
   set re=0
 endfunc
 
+func Test_column_failure()
+  set re=1
+  call assert_fails('/\%v', 'E71:')
+  call assert_fails('/\%c', 'E71:')
+  call assert_fails('/\%l', 'E71:')
+  set re=2
+  call assert_fails('/\%v', 'E1273:')
+  call assert_fails('/\%c', 'E1273:')
+  call assert_fails('/\%l', 'E1273:')
+  set re=0
+endfunc
+
 func Test_recursive_addstate()
   " This will call addstate() recursively until it runs into the limit.
   let lnum = search('\v((){328}){389}')
diff --git a/src/version.c b/src/version.c
index 23dede0..9b1d56a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    4688,
+/**/
     4687,
 /**/
     4686,
