diff --git a/src/edit.c b/src/edit.c
index 3790bfb..61c1694 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -1899,7 +1899,11 @@
      * vi-compatible (maybe there should be an option for it?) -- webb
      */
     if (gui.in_use)
+    {
 	++allow_keys;
+	if (noReduceKeys)
+	    ++no_reduce_keys;
+    }
 #endif
 #ifdef USE_ON_FLY_SCROLL
     dont_scroll = TRUE;		// disallow scrolling here
@@ -1992,7 +1996,11 @@
     --no_mapping;
 #ifdef FEAT_GUI
     if (gui.in_use)
+    {
 	--allow_keys;
+	if (noReduceKeys)
+	    --no_reduce_keys;
+    }
 #endif
     if (nc)
     {
diff --git a/src/getchar.c b/src/getchar.c
index 6d8697c..2b1bbde 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -1634,7 +1634,7 @@
 {
     int c = c_arg;
 
-    if ((*modifiers & MOD_MASK_CTRL) && !(*modifiers & MOD_MASK_SHIFT))
+    if (*modifiers & MOD_MASK_CTRL)
     {
 	if ((c >= '`' && c <= 0x7f) || (c >= '@' && c <= '_'))
 	{
diff --git a/src/testdir/test_gui.vim b/src/testdir/test_gui.vim
index 96723b6..993954b 100644
--- a/src/testdir/test_gui.vim
+++ b/src/testdir/test_gui.vim
@@ -1560,8 +1560,8 @@
   bw!
 endfunc
 
-func Test_gui_CTRL_V()
-  call feedkeys(":let g:str = '\<C-V>\<*C-S-I>\<C-V>\<*C-S-@>'\<CR>", 'tx')
+func Test_gui_CTRL_SHIFT_V()
+  call feedkeys(":let g:str = '\<*C-S-V>\<*C-S-I>\<*C-S-V>\<*C-S-@>'\<CR>", 'tx')
   call assert_equal('<C-S-I><C-S-@>', g:str)
   unlet g:str
 endfunc
diff --git a/src/version.c b/src/version.c
index dc2c1ff..eddc6c9 100644
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    4846,
+/**/
     4845,
 /**/
     4844,
