diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp
index 952db2349f84f80905c47faa222437713a3fa7e1..2575820438488d7783177c6f34499cb701844ff6 100644
--- a/src/plugins/fakevim/fakevimhandler.cpp
+++ b/src/plugins/fakevim/fakevimhandler.cpp
@@ -1441,9 +1441,7 @@ int FakeVimHandler::Private::readLineCode(QString &cmd)
             return -1;
         }
         cmd = cmd.mid(1);
-        QTextCursor tc = m_tc;
-        tc.setPosition(mark);
-        return tc.block().blockNumber() + 1;
+        return lineForPosition(mark);
     }
     if (c == '-') {
         int n = readLineCode(cmd);