Index: src/orca/Gecko.py
===================================================================
--- src/orca/Gecko.py	(revision 2445)
+++ src/orca/Gecko.py	(working copy)
@@ -6097,11 +6097,14 @@
             if validExtents and extents != (0, 0, 0, 0):
                 if not self.onSameLine(extents, lineExtents):
                     if not crossedLineBoundary:
-                        lineExtents = extents
                         if currentChar != "\n" and extents[1] >= 0:
                             crossedLineBoundary = True
                         elif previousChar == "\n":
                             crossedLineBoundary = True
+                        elif obj.role == rolenames.ROLE_ENTRY:
+                            crossedLineBoundary = True
+                        if crossedLineBoundary:
+                            lineExtents = extents
                     else:
                         break
                 elif crossedLineBoundary \
@@ -6201,15 +6204,18 @@
             if validExtents and extents != (0, 0, 0, 0):
                 if not self.onSameLine(extents, lineExtents):
                     if not crossedLineBoundary:
-                        lineExtents = extents
                         if currentChar != "\n" and extents[1] >= 0:
                             crossedLineBoundary = True
                         elif previousChar == "\n":
                             crossedLineBoundary = True
-                        if crossedLineBoundary and arrowToLineBeginning:
-                            [lastObj, lastCharacterOffset] = \
-                                [obj, characterOffset]
-                            break
+                        elif obj.role == rolenames.ROLE_ENTRY:
+                            crossedLineBoundary = True
+                        if crossedLineBoundary:
+                            lineExtents = extents
+                            if arrowToLineBeginning:
+                                [lastObj, lastCharacterOffset] = \
+                                    [obj, characterOffset]
+                                break
                     else:
                         break
                 elif crossedLineBoundary \
