BoundaryMesh.coordinates() out of order

When generating the coordinates for the mesh boundary with the function below, the points are almost all in order, but there are always 2 or 3 points at the beginning and end of the list that are out of order. Why? And is there a function that will produce a sorted list of the points for the mesh outline?

coordinates = BoundaryMesh(mesh, 'exterior').coordinates()