Blend makes me lose location

In my program I use a list with 3 amounts of blend: 0mm 25mm and 50mm. but when I play the program at some point after passing the waypoints that use blend alot my tcp is completely in the wrong spot, and all moves after this are also wrong.

I tested the same program without any blend and it works just fine.

any idea why this could be happening?

If you take a look at this article about movep and movec it goes over a bit about blend radius and how it works. Circular Path I am guessing this is similar to what you are seeing in which case it is working as intended. If you are just wanting a continuous motion; you can just use a very small blend radius of 1mm to stay as close as possible to the original path.