diff --git a/src/plugins/texteditor/textdocument.cpp b/src/plugins/texteditor/textdocument.cpp
index cc28f20dc5a28cf7a930f05b48b3a0e9100df1fe..213f15cfccc1431afe51f5c88ad3a60dc161e656 100644
--- a/src/plugins/texteditor/textdocument.cpp
+++ b/src/plugins/texteditor/textdocument.cpp
@@ -130,7 +130,7 @@ QTextCursor TextDocumentPrivate::indentOrUnindent(const QTextCursor &textCursor,
     bool modified = true;
 
     QTextBlock startBlock = m_document.findBlock(start);
-    QTextBlock endBlock = m_document.findBlock(end).next();
+    QTextBlock endBlock = m_document.findBlock(blockSelection ? end : end - 1).next();
 
     const bool oneLinePartial = (startBlock.next() == endBlock)
                               && (start > startBlock.position() || end < endBlock.position() - 1);