diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp
index f237c0f7ed893c588b6b577c7282da2913824004..40971354f42bf6ab58abfd0bc442ce3d938883b2 100644
--- a/src/plugins/texteditor/texteditor.cpp
+++ b/src/plugins/texteditor/texteditor.cpp
@@ -1253,6 +1253,11 @@ void TextEditorWidgetPrivate::editorContentsChange(int position, int charsRemove
         // lines were inserted or removed from outside, keep viewport on same part of text
         if (q->firstVisibleBlock().blockNumber() > posBlock.blockNumber())
             q->verticalScrollBar()->setValue(q->verticalScrollBar()->value() + newBlockCount - m_blockCount);
+
+        if (m_inBlockSelectionMode) {
+            disableBlockSelection(CursorUpdateClearSelection);
+            q->viewport()->update();
+        }
     }
     m_blockCount = newBlockCount;
     m_scrollBarUpdateTimer.start(500);