We’re going to have to see how you’ve coded this to know exactly what’s wrong. Are you using TweenService, or your own tweening code? If the latter, does it use CFrame:lerp(), or something of your own design?
Can you post a simple repro place (rbxl file)? There are a lot of unknowns here still, like whether this is a prescripted animation, or the block shown is player-controlled. At first glance, it looks like more than one bit of script might be trying to orient the block. Or that the end-state of the tween does not match whatever sets the orientation right after the tween (something is still moving the block, right? I mean, it keeps sliding).
Your video looks like it’s two separate tweens, with two destinations. Maybe debug print out each time a new destination is found, and each time a tween starts?