diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp
old mode 100755
new mode 100644
index 9ec88387d39ea0040d775ffc9cb947bb378cb77c..f4626e0a92278f533facc45c3b17cec8fa2aa16b
--- a/src/plugins/fakevim/fakevimhandler.cpp
+++ b/src/plugins/fakevim/fakevimhandler.cpp
@@ -2058,7 +2058,9 @@ EventResult FakeVimHandler::Private::handleMiniBufferModes(int key, int unmodifi
         if (!m_commandBuffer.isEmpty()) {
             m_commandHistory.takeLast();
             m_commandHistory.append(m_commandBuffer);
+            EDITOR(setTextCursor(m_tc));
             handleExCommand(m_commandBuffer);
+            m_tc = EDITOR(textCursor());
             leaveVisualMode();
         }
     } else if (unmodified == Key_Return && isSearchMode()) {