Submitted by gpersoon
In the function tokenUnload, ps.stakeBalance is only deleted if balance >0. e.g it is deleted if ps.stakeBalance > ps.firstMoneyOut
So if ps.stakeBalance ==  ps.firstMoneyOut then ps.stakeBalance will not be deleted.
And then a call to tokenRemove will revert, because it checks for ps.stakeBalance to be 0
Recommend checking what to do in this edge case and add the appropriate code.
Evert0x (Sherlock) confirmed
