diff --git a/src/edit.c b/src/edit.c
index d3fffc5..22f4bbe 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -45,7 +45,7 @@
 #endif
 static int ins_start_select(int c);
 static void ins_insert(int replaceState);
-static void ins_ctrl_o(void);
+static void ins_ctrl_o(int cmdchar);
 static void ins_shift(int c, int lastc);
 static void ins_del(void);
 static int  ins_bs(int c, int mode, int *inserted_space_p);
@@ -429,7 +429,8 @@
     /*
      * Main loop in Insert mode: repeat until Insert mode is left.
      */
-    for (;;)
+    int did_loop = FALSE;
+    for (;; did_loop = TRUE)
     {
 #ifdef FEAT_RIGHTLEFT
 	if (!revins_legal)
@@ -588,6 +589,8 @@
 	if (cmdchar == K_PS)
 	    // Got here from normal mode when bracketed paste started.
 	    c = K_PS;
+	else if (cmdchar == 'v' && did_loop)
+	    c = ESC;  // in case the stuffed Esc was consumed already
 	else
 	    do
 	    {
@@ -717,7 +720,7 @@
 	    {
 		if (c == Ctrl_O)
 		{
-		    ins_ctrl_o();
+		    ins_ctrl_o(cmdchar);
 		    ins_at_eol = FALSE;	// cursor keeps its column
 		    nomove = TRUE;
 		}
@@ -860,7 +863,7 @@
 #endif
 	    if (echeck_abbr(Ctrl_O + ABBR_OFF))
 		break;
-	    ins_ctrl_o();
+	    ins_ctrl_o(cmdchar);
 
 	    // don't move the cursor left when 'virtualedit' has "onemore".
 	    if (get_ve_flags() & VE_ONEMORE)
@@ -3848,8 +3851,10 @@
  * Pressed CTRL-O in Insert mode.
  */
     static void
-ins_ctrl_o(void)
+ins_ctrl_o(int cmdchar)
 {
+    if (cmdchar == 'v')
+	return;  // abort replacing one char for gr CTRL-O
     if (State & VREPLACE_FLAG)
 	restart_edit = 'V';
     else if (State & REPLACE_FLAG)
diff --git a/src/testdir/test_edit.vim b/src/testdir/test_edit.vim
index 9caa931..1b00ae9 100644
--- a/src/testdir/test_edit.vim
+++ b/src/testdir/test_edit.vim
@@ -2064,6 +2064,16 @@
   bwipe!
 endfunc
 
+" Test "gr" followed by an Insert mode command does get out of Insert mode.
+func Test_edit_gr_special()
+  enew
+  call setline(1, ['abcdef', 'xxxxxx'])
+  exe "normal! gr\<C-O>x"
+  call assert_equal('bcdef', getline(1))
+
+  bwipe!
+endfunc
+
 " Weird long file name was going over the end of NameBuff
 func Test_edit_overlong_file_name()
   CheckUnix
diff --git a/src/version.c b/src/version.c
index fbc0b92..23d7a2f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1347,
+/**/
     1346,
 /**/
     1345,
