diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp
index 044978fb35ac1be92b61bcaaf39336e788ed0bfc..35072b43d02ac5c61c3b720752782bfb675de782 100644
--- a/src/plugins/fakevim/fakevimhandler.cpp
+++ b/src/plugins/fakevim/fakevimhandler.cpp
@@ -2278,6 +2278,8 @@ EventResult FakeVimHandler::Private::handleInsertMode(const Input &input)
                 const int newcol = col.logical - 1 - (col.logical - 1) % ts;
                 data.remove(0, col.physical);
                 setLineContents(line, tabExpand(newcol).append(data));
+                moveToStartOfLine();
+                moveRight(newcol);
                 m_lastInsertion.clear(); // FIXME
             } else {
                 m_tc.deletePreviousChar();