Proning Move Direction

I have a proning system that I am working on and I’m trying to make it similar to Metal Gear Solid 5. So far, it works, but I’m having a problem where you try to turn 360 degrees really fast, it stutters and doesn’t go the correct direction. The code below basically makes it so a player can move backwards while the camera is facing the opposite of the HumanoidRootPart’s LookVector.

Video of the problem

        local cameraCFrame = CFrame.new(Vector3.new(), workspace.CurrentCamera.CFrame.lookVector * Vector3.new(1, 0, 1))
        local direction = cameraCFrame:VectorToWorldSpace(moveVector.Unit)

        if moveState == "Proning" then
            local dir = self.Springs.Direction.Position:Dot(direction)
            
            if moveVector.Magnitude > .1 then
                
                if dir > -.95 and dir < -.21 then
                    direction = cameraCFrame:VectorToWorldSpace(-moveVector.Unit)
                end
                
                self.Springs.Direction.Target = direction
            end
        end