diff --git a/code/game/objects/items/weapons/RSF.dm b/code/game/objects/items/weapons/RSF.dm
index ee3a09ffda7..85ff13fe370 100644
--- a/code/game/objects/items/weapons/RSF.dm
+++ b/code/game/objects/items/weapons/RSF.dm
@@ -69,12 +69,11 @@ RSF
if(isrobot(user))
var/mob/living/silicon/robot/engy = user
- if(engy.cell.charge < configured_items[mode][2])
+ if(!engy.cell.use(configured_items[mode][2]))
to_chat(user, "Insufficient energy.")
return
- engy.cell.charge -= configured_items[mode][2]
else
- if(matter == 0)
+ if(!matter)
to_chat(user, "Insufficient matter.")
return
matter--
@@ -82,7 +81,7 @@ RSF
desc = "A RSF. It currently holds [matter]/30 fabrication-units."
to_chat(user, "Dispensing " + configured_items[mode][1] + "...")
- playsound(src.loc, 'sound/machines/click.ogg', 10, 1)
+ playsound(loc, 'sound/machines/click.ogg', 10, 1)
var/type_path = configured_items[mode][3]
new type_path(spawn_location)