Player:SetPos() when player inside vehicle

Whenever I use Player:SetPos() inside a vehicle, the player goes invisible. I want to use this function to “restore” the player back to the seat position after some buggy collision has occurred which for some reason pushes the player away from their seat.

Any idea an alternative fix to restore the players position or to make this command not turn my player invisible? It even fucks up when I do Player:SetPos(Player:GetPos())

[editline]28th August 2017[/editline]

Sigh. Nevermind I just realised your Vector(0,0,0) is the seat position.

The player is essentially parented (move parent in the engine) to the vehicle/chair: his position and angles will be local to that.