diff --git a/code/game/objects/items/RSF.dm b/code/game/objects/items/RSF.dm
index e2bbdf0f04..79fa080269 100644
--- a/code/game/objects/items/RSF.dm
+++ b/code/game/objects/items/RSF.dm
@@ -26,10 +26,6 @@ RSF
/obj/item/rsf/cyborg
matter = 30
-/obj/item/rsf/cyborg/Initialize()
- if(matter > 30)
- matter = 30
- ..()
/obj/item/rsf/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/rcd_ammo))
@@ -69,15 +65,16 @@ RSF
return
if (!(istype(A, /obj/structure/table) || isfloorturf(A)))
return
-
- if(matter < 1)
- to_chat(user, "\The [src] doesn't have enough matter left.")
- return
if(iscyborg(user))
+ matter = 30 //borgs dont actually use the matter so this is mostly just so it doesnt fail the next check incase of shennanigans
var/mob/living/silicon/robot/R = user
if(!R.cell || R.cell.charge < 200)
to_chat(user, "You do not have enough power to use [src].")
return
+ if(matter < 1)
+ to_chat(user, "\The [src] doesn't have enough matter left.")
+ return
+
var/turf/T = get_turf(A)
playsound(src.loc, 'sound/machines/click.ogg', 10, 1)