diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp
index 7d0cd8c867d9c462f27921f8d60f80a7bc555e48..b45d1510dbe3010a7ded2f163f13bb7a9151d7f4 100644
--- a/src/plugins/fakevim/fakevimhandler.cpp
+++ b/src/plugins/fakevim/fakevimhandler.cpp
@@ -589,7 +589,7 @@ bool FakeVimHandler::Private::wantsOverride(QKeyEvent *ev)
     const int mods = ev->modifiers();
     KEY_DEBUG("SHORTCUT OVERRIDE" << key << "  PASSING: " << m_passing);
 
-    if (key == Key_Escape || (mods == Qt::ControlModifier && key == Key_BracketLeft)) {
+    if (key == Key_Escape) {
         // Not sure this feels good. People often hit Esc several times
         if (isNoVisualMode() && m_mode == CommandMode)
             return false;
@@ -597,7 +597,9 @@ bool FakeVimHandler::Private::wantsOverride(QKeyEvent *ev)
     }
 
     // We are interested in overriding  most Ctrl key combinations
-    if (mods == Qt::ControlModifier && key >= Key_A && key <= Key_Z && key != Key_K) {
+    if (mods == Qt::ControlModifier
+            && ((key >= Key_A && key <= Key_Z && key != Key_K)
+                || key == Key_BracketLeft || key == Key_BracketRight)) {
         // Ctrl-K is special as it is the Core's default notion of Locator
         if (m_passing) {
             KEY_DEBUG(" PASSING CTRL KEY");