diff --git a/src/edit.c b/src/edit.c
index 1c168b6..c74f1bb 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -3906,6 +3906,7 @@
      * deleted when ESC is hit.
      */
     ++no_mapping;
+    ++allow_keys;
     regname = plain_vgetc();
     LANGMAP_ADJUST(regname, TRUE);
     if (regname == Ctrl_R || regname == Ctrl_O || regname == Ctrl_P)
@@ -3919,6 +3920,7 @@
 	LANGMAP_ADJUST(regname, TRUE);
     }
     --no_mapping;
+    --allow_keys;
 
 #ifdef FEAT_EVAL
     /* Don't call u_sync() while typing the expression or giving an error
@@ -4010,8 +4012,10 @@
      * deleted when ESC is hit.
      */
     ++no_mapping;
+    ++allow_keys;
     c = plain_vgetc();
     --no_mapping;
+    --allow_keys;
     switch (c)
     {
 	/* CTRL-G k and CTRL-G <Up>: cursor up to Insstart.col */
diff --git a/src/ex_getln.c b/src/ex_getln.c
index 0a3d9d4..6832158 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -1747,6 +1747,7 @@
 #endif
 		putcmdline('"', TRUE);
 		++no_mapping;
+		++allow_keys;
 		i = c = plain_vgetc();	/* CTRL-R <char> */
 		if (i == Ctrl_O)
 		    i = Ctrl_R;		/* CTRL-R CTRL-O == CTRL-R CTRL-R */
@@ -1754,6 +1755,7 @@
 		    c = plain_vgetc();	/* CTRL-R CTRL-R <char> */
 		extra_char = NUL;
 		--no_mapping;
+		--allow_keys;
 #ifdef FEAT_EVAL
 		/*
 		 * Insert the result of an expression.
diff --git a/src/testdir/test_termcodes.vim b/src/testdir/test_termcodes.vim
index 2678dae..05f0d18 100644
--- a/src/testdir/test_termcodes.vim
+++ b/src/testdir/test_termcodes.vim
@@ -1209,6 +1209,27 @@
   call RunTest_modifyOtherKeys(function('GetEscCodeCSIu'))
 endfunc
 
+func Test_modifyOtherKeys_no_mapping()
+  set timeoutlen=10
+
+  let @a = 'aaa'
+  call feedkeys(":let x = '" .. GetEscCodeCSI27('R', 5) .. GetEscCodeCSI27('R', 5) .. "a'\<CR>", 'Lx!')
+  call assert_equal("let x = 'aaa'", @:)
+
+  new
+  call feedkeys("a" .. GetEscCodeCSI27('R', 5) .. GetEscCodeCSI27('R', 5) .. "a\<Esc>", 'Lx!')
+  call assert_equal("aaa", getline(1))
+  bwipe!
+
+  new
+  call feedkeys("axx\<CR>yy" .. GetEscCodeCSI27('G', 5) .. GetEscCodeCSI27('K', 5) .. "a\<Esc>", 'Lx!')
+  call assert_equal("axx", getline(1))
+  call assert_equal("yy", getline(2))
+  bwipe!
+
+  set timeoutlen&
+endfunc
+
 func RunTest_mapping_shift(key, func)
   call setline(1, '')
   if a:key == '|'
diff --git a/src/version.c b/src/version.c
index c35a5c0..b47808d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -738,6 +738,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2346,
+/**/
     2345,
 /**/
     2344,
