diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp
index 29e8412a451ce4ba173a69aff9b20cdcb92ac3e6..ab8a1a23a933d2a850c8ece1ae6d41ba3e7e3e86 100644
--- a/src/plugins/fakevim/fakevimhandler.cpp
+++ b/src/plugins/fakevim/fakevimhandler.cpp
@@ -4704,7 +4704,9 @@ void FakeVimHandler::Private::selectBlockTextObject(bool inner, char left, char
     QTextCursor tc1 = doc->find(sleft, m_tc, QTextDocument::FindBackward);
     if (tc1.isNull())
         return;
-    const int p1 = tc1.position() + inner - sleft.size();
+    int p1 = tc1.position() + inner - sleft.size();
+    if (inner && m_tc.document()->characterAt(p1) == ParagraphSeparator)
+        ++p1;
     const int p2 = tc2.position() - inner - sright.size();
     setMark('>', p1);
     m_anchor = p2;