diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp
old mode 100644
new mode 100755
index bdfe357866f040dc15c782160aaad5d3951f7702..d8b13d2a94a9e175a2686413800735687d9398f4
--- a/src/plugins/fakevim/fakevimhandler.cpp
+++ b/src/plugins/fakevim/fakevimhandler.cpp
@@ -1779,6 +1779,7 @@ EventResult FakeVimHandler::Private::handleInsertMode(int key, int,
         m_dotCommand += QChar(27);
         recordNewUndo();
         enterCommandMode();
+        m_submode = NoSubMode;
     } else if (key == Key_Insert) {
         if (m_submode == ReplaceSubMode) {
             EDITOR(setCursorWidth(m_cursorWidth));