diff --git a/src/measurement/position_measurement.js b/src/measurement/position_measurement.js
index cc55fb4d62462985eeb31534c4e79a35da7b7e8c..78986e03dbde5790278260ba1d87d381ef469658 100644
--- a/src/measurement/position_measurement.js
+++ b/src/measurement/position_measurement.js
@@ -559,6 +559,7 @@ function coordsBidiPartWrapped(cm, lineObj, _lineNo, preparedMeasure, order, x,
   // wrapped line, and then do a flat search in which we discard any
   // spans that aren't on the line.
   let {begin, end} = wrappedLineExtent(cm, lineObj, preparedMeasure, y)
+  if (/\s/.test(lineObj.text.charAt(end - 1))) end--
   let part = null, closestDist = null
   for (let i = 0; i < order.length; i++) {
     let p = order[i]