diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp
index 329fe456a6c7214587f3680f062b16461294e9ff..52bd4ae3eb4a322090db96e17fd6122f2cc15230 100644
--- a/src/plugins/fakevim/fakevimhandler.cpp
+++ b/src/plugins/fakevim/fakevimhandler.cpp
@@ -861,7 +861,10 @@ EventResult FakeVimHandler::Private::handleCommandMode(int key, int unmodified,
         m_semicolonKey = key;
         handleFfTt(key);
         m_subsubmode = NoSubSubMode;
-        finishMovement();
+        finishMovement(QString("%1%2%3")
+            .arg(count())
+            .arg(QChar(m_semicolonType))
+            .arg(QChar(m_semicolonKey)));
     } else if (m_submode == ReplaceSubMode) {
         if (count() < rightDist() && text.size() == 1
                 && (text.at(0).isPrint() || text.at(0).isSpace())) {