Noticed a weird bug when parenting/welding things to a character from the client

When parenting a MeshPart to a character owned by the server (from the client), it seems to break the character in a very odd way.

As you can see in the video, parenting the mesh causes the character to which it was parented to slide around on the client. How can I fix this? I’m sure it’s something weird with the way roblox characters work but after playing around with it for a bit I wasn’t able to fix the problem.

Here’s the relevant code which does the parenting:

local function highlightNoob(hrp)
	if hrp.Parent:FindFirstChild("NoobHighlight") then return end
	local torso = hrp.Parent:FindFirstChild("Torso")
	highlightInstance = highlight:Clone()
	local weld = Instance.new("Weld")
	
	highlightInstance.CFrame = hrp.CFrame * CFrame.new(0, -2, 0)
	weld.Part0 = torso
	weld.Part1 = highlightInstance
	
	highlightInstance.Parent = hrp.Parent
	weld.Parent = highlightInstance
end

Below is the actual part which gets parented. It’s cancollide=false.
image

I have no idea why simply parenting and welding a part to a character’s torso breaks it in this way. Any help is appreciated.

Does it still happen if you comment out that line?

Upon commenting it out the character simply disappears.