Index: src/game/g_cmds.c =================================================================== --- src/game/g_cmds.c (revision 813) +++ src/game/g_cmds.c (working copy) @@ -1842,8 +1826,11 @@ upgrade = BG_FindUpgradeNumForName( s ); //special case to keep norf happy - if( weapon == WP_NONE && upgrade == UP_AMMO ) - buyingEnergyAmmo = BG_FindUsesEnergyForWeapon( ent->client->ps.weapon ); + if( weapon == WP_NONE && upgrade == UP_AMMO ) { + // we don't buy ammo for blaster, we buy it for main weapon! + int mainWeapon = G_FindNonBlasterWeapon( ent ); + buyingEnergyAmmo = BG_FindUsesEnergyForWeapon( mainWeapon ); + } if( buyingEnergyAmmo ) {