Animation ends in slightly different place each time

Hi, I have a fps I’m making, and when the right mouse button is pressed, an animation.crossfade is called on the gun to look down the iron sights. (Ideally, the ^ and V line up, like real iron sights).
However, sometimes they’re spot on, sometimes only the rear V is visible, sometimes you can see the foresight over the rearsight. It seems totally random, even with no other inputs (no character movement or looking around. It’s always close, sometimes it’s perfect, but it’s not consistent.
I searched this site, but the nearest I could find was an old bug in v3.0, where the last frame of animation was sometimes missing, but I’m on v3.5.5f2.
Can anyone help me please, it’s driving me mad!

After much, much messing about, I changed the .Crossfade to .Play, and voila!
It seems the mixing needed to join the animations causes a slight variation in end result, if you look close enough. :-/
Hope this helps someone later on down the line.