diff --git a/src/gui_w32.c b/src/gui_w32.c
index 7bdbf41..ae41905 100644
--- a/src/gui_w32.c
+++ b/src/gui_w32.c
@@ -2055,21 +2055,21 @@
 	    int		i;
 	    UINT	scan_code;
 
-	    // Construct the state table with only a few modifiers, we don't
-	    // really care about the presence of Ctrl/Alt as those modifiers are
-	    // handled by Vim separately.
+	    // Construct the keyboard state table, the modifiers can and will
+	    // affect the character translation performed by ToUnicode.
+	    // Eg. With a Russian keyboard layout pressing 'n' produces 'т' but
+	    // Ctrl+p produces 'p', this is essential for the keybindings to
+	    // work.
 	    memset(keyboard_state, 0, 256);
+	    if (GetKeyState(VK_CONTROL) & 0x8000)
+		keyboard_state[VK_CONTROL] = 0x80;
 	    if (GetKeyState(VK_SHIFT) & 0x8000)
 		keyboard_state[VK_SHIFT] = 0x80;
 	    if (GetKeyState(VK_CAPITAL) & 0x0001)
 		keyboard_state[VK_CAPITAL] = 0x01;
-	    // Alt-Gr is synthesized as Alt + Ctrl.
-	    if ((GetKeyState(VK_RMENU) & 0x8000)
-					 && (GetKeyState(VK_CONTROL) & 0x8000))
-	    {
+	    // Alt-Gr is synthesized as (Right)Alt + Ctrl.
+	    if ((GetKeyState(VK_RMENU) & 0x8000) && keyboard_state[VK_CONTROL])
 		keyboard_state[VK_MENU] = 0x80;
-		keyboard_state[VK_CONTROL] = 0x80;
-	    }
 
 	    // Translate the virtual key according to the current keyboard
 	    // layout.
@@ -2079,6 +2079,16 @@
 	    // If this is a dead key ToUnicode returns a negative value.
 	    len = ToUnicode(vk, scan_code, keyboard_state, ch, ARRAY_LENGTH(ch),
 		    0);
+	    if (len == 0 && keyboard_state[VK_CONTROL])
+	    {
+		// Handle one more special case: pressing Ctrl+key may
+		// generate an unprintable ASCII character, try again without
+		// the modifier to get the pressed key value.
+		keyboard_state[VK_CONTROL] = 0;
+		len = ToUnicode(vk, scan_code, keyboard_state, ch,
+			ARRAY_LENGTH(ch), 0);
+		keyboard_state[VK_CONTROL] = 0x80;
+	    }
 	    dead_key = len < 0;
 
 	    if (len <= 0)
diff --git a/src/version.c b/src/version.c
index b13e4ce..3918d43 100644
--- a/src/version.c
+++ b/src/version.c
@@ -736,6 +736,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    5157,
+/**/
     5156,
 /**/
     5155,
