HumanoidState unexpectedly changes when welding 2 players

So, while making a cuff system, I found such a bug or maybe a “feature”: whenever Player 1 with PlatformStand = true gets welded to Player 2, Player 2’s State changes to PlatformStanding and stays so until the weld is destroyed no matter what, whether you use :ChangeState() or try to retoggle PlatformStand. This bug occurs with probability of around 50% (and that really sucks)

Thing is, this awful bug prevents a function that makes Player 1 play run animation whenever Player 2 runs (event Running wont fire if State ~= Running) from executing.

Any ideas on how to get around this problem? Anything is welcome.
P.S.: no suggestions to change CFrames to imitate controlling

im unsure if i even should put this to bug reports

so i decided to get rid of the humanoidstate objects and stuff, found out the best way after all is heartbeat connection with velocity detection welp