diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm
index 07abbfcc94..192599073a 100644
--- a/code/game/mecha/equipment/weapons/weapons.dm
+++ b/code/game/mecha/equipment/weapons/weapons.dm
@@ -28,6 +28,10 @@
var/turf/targloc = get_turf(target)
if(!curloc || !targloc)
return
+ chassis.use_power(energy_drain)
+ chassis.visible_message("[chassis] fires [src]!")
+ occupant_message("You fire [src]!")
+ log_message("Fired from [src], targeting [target].")
for(var/i = 1 to min(projectiles, projectiles_per_shot))
var/turf/aimloc = targloc
if(deviation)
@@ -43,10 +47,6 @@
if(auto_rearm)
projectiles = projectiles_per_shot
set_ready_state(0)
- chassis.use_power(energy_drain)
- chassis.visible_message("[chassis] fires [src]!")
- occupant_message("You fire [src]!")
- log_message("Fired from [src], targeting [target].")
do_after_cooldown()
return