diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp
index 621a677257445943730d3fb46c5d4ea18dd22e88..53ffdea928bc3382ffd2685da4c0773014713245 100644
--- a/src/plugins/texteditor/basetexteditor.cpp
+++ b/src/plugins/texteditor/basetexteditor.cpp
@@ -1314,6 +1314,13 @@ void BaseTextEditor::keyPressEvent(QKeyEvent *e)
             handleBlockSelection(diff_row, diff_col);
             e->accept();
             return;
+        } else {
+            // leave block selection mode
+            if (d->m_inBlockSelectionMode) {
+                d->m_inBlockSelectionMode = false;
+                d->m_blockSelection.clear();
+                viewport()->update();
+            }
         }
 #endif
         break;