TTT Credits not working

I have some code that i have added to the TTT pointshop that is supposed to spawn in credits for the detectives and traitors for the current round, however i am unable to get this to work.
The item removes the money and tells you that its a single use item but does not give the credit.

ITEM.Name = 'Role Credits'
ITEM.Price = 200
ITEM.Material = 'VGUI/ttt/sprite_traitor.vmt'
ITEM.SingleUse = true

function ITEM:OnEquip(ply, modifications)
	ply:AddCredits( 1 )

function ITEM:OnHolster(ply)

Does it automatically equip it? Are they buying it during the round?

buying during the round.
EDIT: And yes it is automatically equipping it.