diff --git a/src/frontends/qt/GuiInputMethod.cpp b/src/frontends/qt/GuiInputMethod.cpp
index 1852155dbd..1f5aec1370 100644
--- a/src/frontends/qt/GuiInputMethod.cpp
+++ b/src/frontends/qt/GuiInputMethod.cpp
@@ -1285,7 +1285,7 @@ GuiInputMethod::PreeditRow GuiInputMethod::getCaretInfo(
 	            second_row_idx + virtual_boundary : d->cur_row_idx_;
 
 	// the second row exists and begins with the preedit
-	if (second_row_idx < (pos_type)d->rows_size_ &&
+	if (second_row_idx + virtual_boundary < (pos_type)d->rows_size_ &&
 	        d->rows_[second_row_idx + virtual_boundary].begin()->isPreedit()) {
 
 		for (pos_type i = second_row_idx + virtual_boundary;
