diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index e7849ac3a4..75c3666c84 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -375,7 +375,7 @@
var/datum/firemode/current_mode = firemodes[sel_mode]
user << "The fire selector is set to [current_mode.name]."
-/obj/item/weapon/gun/proc/switch_firemodes()
+/obj/item/weapon/gun/proc/switch_firemodes(mob/user)
if(firemodes.len <= 1)
return null
@@ -384,11 +384,10 @@
sel_mode = 1
var/datum/firemode/new_mode = firemodes[sel_mode]
new_mode.apply_to(src)
+ user << "\The [src] is now set to [mode_name]."
return new_mode
/obj/item/weapon/gun/attack_self(mob/user)
switch_firemodes(user)
- if(firemodes.len > 1)
- user << "\The [src] is now set to [mode_name]."
diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm
index 532ba47134..d1e97e892b 100644
--- a/code/modules/projectiles/guns/energy.dm
+++ b/code/modules/projectiles/guns/energy.dm
@@ -19,7 +19,7 @@
var/recharge_time = 4
var/charge_tick = 0
-/obj/item/weapon/gun/energy/switch_firemodes()
+/obj/item/weapon/gun/energy/switch_firemodes(mob/user)
if(..())
update_icon()
diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm
index 31aaf46555..c3b92134b0 100644
--- a/code/modules/projectiles/guns/projectile/automatic.dm
+++ b/code/modules/projectiles/guns/projectile/automatic.dm
@@ -145,7 +145,7 @@
if(use_launcher)
launcher.Fire(target, user, params, pointblank, reflex)
if(!launcher.chambered)
- switch_firemodes() //switch back automatically
+ switch_firemodes(user) //switch back automatically
else
..()