diff --git a/packages/element/src/binding.ts b/packages/element/src/binding.ts index 86041b4aba..381c1f186f 100644 --- a/packages/element/src/binding.ts +++ b/packages/element/src/binding.ts @@ -1774,9 +1774,15 @@ export const updateBoundPoint = ( startOrEnd === "startBinding" ? "endBinding" : "startBinding", elementsMap, ); + const adjacentPointIndex = + startOrEnd === "startBinding" ? 1 : arrow.points.length - 2; const otherArrowPoint = LinearElementEditor.getPointAtIndexGlobalCoordinates( arrow, - startOrEnd === "startBinding" ? -1 : 0, + arrow.points.length > 2 + ? adjacentPointIndex + : startOrEnd === "startBinding" + ? -1 + : 0, elementsMap, ); const otherFocusPointOrArrowPoint = otherFocusPoint || otherArrowPoint;