in the code it returns the player after hitting bye. but when it returns the camera glitches and moves every 5 seconds

i want it to lerp to the model (npc) which it does but when the camera returns it starts moving itself afterwards

local Player = game.Players.LocalPlayer
local Character = Player.Character.HumanoidRootPart 
local Camera = workspace.CurrentCamera
local Gui = script.Parent.Parent.PlayerGui.ScreenGui



 --  LERP  --
Camera.CameraType = Enum.CameraType.Scriptable

for Num = 0,1,0.012 do
		Camera.CFrame = Character.CFrame:lerp(workspace.Desk.Hi.CFrame,Num)
		game:GetService('RunService').RenderStepped:wait()	
end	



 --  GUI ENTER  --
Gui.Frame:TweenPosition(UDim2.new(0,0,0,0),"Out","Back",2)
wait(2)


 --  OPTIONS  --
Gui.Frame.Bye.MouseButton1Down:connect (function()
	 Gui.Frame:TweenPosition(UDim2.new(0,0,1,0),2)
	for Num = 0,1,0.012 do
		Camera.CFrame = workspace.Desk.Hi.CFrame:lerp(Character.CFrame,Num)
		game:GetService('RunService').RenderStepped:wait()	
		Camera.CameraType = Enum.CameraType.Custom
		Gui.Frame.A.Text = ""
		wait(.5)
		game.StarterGui.ScreenGui.Frame.A_One:TweenPosition(UDim2.new(.76,0,0.76,0))

		Gui.Frame.Bye:TweenPosition(UDim2.new(.76,0,0.83,0))
		wait(1)
		script.Disabled = true
end	
end)