weird issue when inserting Via Points

Sometimes, when I insert a Via Point into an existing route, everything looks correct, but when I run the route in my Garmin, or view it again in Basecamp, the route will want to loop-back and cause a U-turn.  It seems to occur between the inserted Via Point and the next intersection.  I am careful about inserting new Via Points into the correct location within the route (between existing Via Points and not close to intersections).  Deleting the Via Point and reinserting it at a different location can often resolve the issue.  Has anyone else experienced this weird behaviour?