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)
