diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp
index 563c06354c493803a7b404a1585a9d699ba35939..3b50040363446ba82922dd31d1099e69b143d358 100755
--- a/src/plugins/fakevim/fakevimhandler.cpp
+++ b/src/plugins/fakevim/fakevimhandler.cpp
@@ -2472,7 +2472,7 @@ void FakeVimHandler::Private::moveToFirstNonBlankOnLine()
     const QTextBlock &block = m_tc.block();
     int firstPos = block.position();
     for (int i = firstPos, n = firstPos + block.length(); i < n; ++i) {
-        if (!doc->characterAt(i).isSpace()) {
+        if (!doc->characterAt(i).isSpace() || i == n - 1) {
             setPosition(i);
             return;
         }