diff --git a/src/plugins/bineditor/bineditor.cpp b/src/plugins/bineditor/bineditor.cpp
index e557ce8c14cbd15e507dfca6c3bb8dab1a163023..bc6ef8c5afa87509b30fb344bc1458fbf8557358 100644
--- a/src/plugins/bineditor/bineditor.cpp
+++ b/src/plugins/bineditor/bineditor.cpp
@@ -770,8 +770,14 @@ void BinEditor::paintEvent(QPaintEvent *e)
 
     int foundPatternAt = findPattern(patternData, patternDataHex, patternOffset, patternOffset, &matchLength);
 
-    int selStart = qMin(m_cursorPosition, m_anchorPosition);
-    int selEnd = qMax(m_cursorPosition, m_anchorPosition);
+    int selStart, selEnd;
+    if (m_cursorPosition >= m_anchorPosition) {
+        selStart = m_anchorPosition;
+        selEnd = m_cursorPosition;
+    } else {
+        selStart = m_cursorPosition;
+        selEnd = m_anchorPosition + 1;
+    }
 
     QString itemString(16*3, QLatin1Char(' '));
     QChar *itemStringData = itemString.data();