diff --git a/code/modules/projectiles/guns/ballistic/launchers.dm b/code/modules/projectiles/guns/ballistic/launchers.dm
index f6356dce99..12006440d2 100644
--- a/code/modules/projectiles/guns/ballistic/launchers.dm
+++ b/code/modules/projectiles/guns/ballistic/launchers.dm
@@ -127,15 +127,14 @@
/obj/item/gun/ballistic/rocketlauncher/attackby(obj/item/A, mob/user, params)
if(magazine && istype(A, /obj/item/ammo_casing))
- if(user.temporarilyRemoveItemFromInventory(A))
- if(!chambered)
- to_chat(user, "You load a new [A] into \the [src].")
- playsound(src, "gun_insert_full_magazine", 70, 1)
- chamber_round()
- update_icon()
- return TRUE
- else
- to_chat(user, "You cannot seem to get \the [A] out of your hands!")
+ if(chambered)
+ to_chat(user, "[src] already has a [magazine_wording] chambered.")
+ return
+ if(magazine.attackby(A, user, silent = TRUE))
+ to_chat(user, "You load a new [A] into \the [src].")
+ playsound(src, "gun_insert_full_magazine", 70, 1)
+ chamber_round()
+ update_icon()
/obj/item/gun/ballistic/rocketlauncher/update_icon()
icon_state = "[initial(icon_state)]-[chambered ? "1" : "0"]"