Help with SWEP: SetModel() is stuck on player until death.

I made a Swep that toggles the player’s model to mayor and back. The problem is that after the player changes the job it stays as the set model until the player dies. Is there anyway to fix this?



function SWEP:PrimaryAttack()

	if (!IsMayor) then
	
		self.Model = self.Owner:GetModel()
		self.Owner:SetModel("models/player/breen.mdl")
		self.Owner:PrintMessage( HUD_PRINTCENTER, "Changing into Mayor." )
		IsMayor = !IsMayor
	else
	
		self.Owner:SetModel(self.Model)
		self.Owner:PrintMessage( HUD_PRINTCENTER, "Device is off." )
		IsMayor = !IsMayor

	end