This bug is in very messy part of the code. If the player has both sidearm and primary as a Thompson he should probably have empty sidearm bank.

The problem for fixing this and other similar issues we have had is that the cg_sidearm hack is altering the original way to handle weapons and that the sidearm and primary are not really defined to be separate. The weapons are selected and then assigned when spawning but that is where the knownledge about their use ends. I.e. all weapons player has are just ammo in a single array. The weapon banks are just arrays of possible weapons for that bank written in stone. I hope this clarifies why this issue is so problematic.