Well, I'm not sure what the "correct" answer is. However, in route.c:
if (turn < 0.0) {
heading = "LEFT";
turn = -turn;
} else
heading = "RIGHT";

But that doesn't explain why you get a turn instruction at all, since if "turn" is <= 5, you should get "continue onto" mumble. Which means the heading isn't being computed right, and the "RIGHT" is because of the above. Probably a duplicate point should be stripped, and probably it should be done in the python script.