diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp
index 5bff209e1e113cac1b428ee9dc7058c08a876e3f..28266834d82e7904d2609380b2450072cc5948b9 100644
--- a/src/plugins/fakevim/fakevimhandler.cpp
+++ b/src/plugins/fakevim/fakevimhandler.cpp
@@ -2779,7 +2779,8 @@ EventResult FakeVimHandler::Private::handleInsertMode(const Input &input)
     } else if (!input.text().isEmpty()) {
         insertInInsertMode(input.text());
     } else {
-        return EventUnhandled;
+        // We don't want fancy stuff in insert mode.
+        return EventHandled;
     }
     updateMiniBuffer();
     return EventHandled;
@@ -3591,10 +3592,6 @@ void FakeVimHandler::Private::searchBalanced(bool forward, QChar needle, QChar o
             --level;
         if (level == 0) {
             const int oldLine = cursorLine() - cursorLineOnScreen();
-            QTextCursor tc = cursor();
-            tc.setPosition(pos, MoveAnchor);
-            tc.clearSelection();
-            setCursor(tc);
             // Making this unconditional feels better, but is not "vim like".
             if (oldLine != cursorLine() - cursorLineOnScreen())
                 scrollToLine(cursorLine() - linesOnScreen() / 2);