Motor6D Physics Glitch

In my game there are tools that have animations that only work using Motor6D’s, however, they seem to be impacting physics while holding them, which for example results in Shift Lock + W + A or D (so basically moving sidewards and forwards while shift lock is on) being completely messed up.

Does anyone have any idea how to fix this?
Any help appreciated.

Here’s the code for the Motor6D’s (pretty basic):

local char = script.Parent
local hum = char:WaitForChild("Humanoid")

local function childAdded(obj)
	if obj and obj:IsA("Tool") then
		local handle = obj:FindFirstChild("Handle")
		if handle then
			local rightArm = char:FindFirstChild("Right Arm")
			if rightArm then
				local rightGrip = rightArm:FindFirstChild("RightGrip")
				if rightGrip then
					rightGrip.Enabled = false
					local motor = script.ToolGrip:Clone()
					motor.Part0 = rightArm
					motor.Part1 = handle
					motor.Parent = rightArm
					motor.Enabled = true
					rightGrip.AncestryChanged:Connect(function()
						if rightGrip ~= rightArm then
							motor:Destroy()
						end
					end)
				end
			end
		end
	end
end

char.ChildAdded:Connect(childAdded)