PivotTo Only Works Once

I have been trying to use PivotTo but it only works the first time and if I try again then it doesn’t work. I’ve already searched the internet but I couldn’t find anything that could help me. Here’s my script:

local debounce = {}

script.Parent.Touched:Connect(function(hit)
	if hit:FindFirstAncestor("Vehicle") and not debounce[hit:FindFirstAncestor("Vehicle")] then
		local vehicle = hit:FindFirstAncestor("Vehicle")
		local seat = vehicle.DriveSeat
		debounce[vehicle] = true
		--seat.Anchored = true
		vehicle:PivotTo(game.Workspace.Baseplate:GetPivot() * CFrame.new(0,50,0))
		local bodyGyro = Instance.new("BodyGyro")
		bodyGyro.CFrame = CFrame.new(0,0,0)
		bodyGyro.Parent = seat
		wait(1)
		bodyGyro:Destroy()
		--seat.Anchored = false
		debounce[vehicle] = nil
	end
end)

Basically, I’m teleporting the vehicle if it touches something.

Is this a bug since no one is able to suggest a solution?

have you tried putting prints in the script to see if its runs all the way through?

It does run the whole way through, because every time a BodyGyro is being created in the seat. But when it tries to use PivotTo after the first time it just jitters.

Have you already set a primary part for the model?

PivotTo doesn’t require a primary part.

doesnt require, although its alot better if you have one
i tried the script with just a normal model and it teleported up only once but never up again, as its “origin position” was already up there, but when i set a primary part it seemed to work perfectly

Ok, I’ll try that, thx.

Edit: This works, tysm!