diff --git a/code/game/objects/items/RSF.dm b/code/game/objects/items/RSF.dm
index 01b351edd0..79fa080269 100644
--- a/code/game/objects/items/RSF.dm
+++ b/code/game/objects/items/RSF.dm
@@ -26,6 +26,7 @@ RSF
/obj/item/rsf/cyborg
matter = 30
+
/obj/item/rsf/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/rcd_ammo))
if((matter + 10) > 30)
@@ -64,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)
diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm
index ccf38a547b..cd3601942c 100644
--- a/code/modules/mob/living/silicon/robot/robot_modules.dm
+++ b/code/modules/mob/living/silicon/robot/robot_modules.dm
@@ -779,9 +779,8 @@
/obj/item/toy/crayon/spraycan/borg,
/obj/item/hand_labeler/borg,
/obj/item/razor,
- /obj/item/rsf,
- /obj/item/instrument/violin,
- /obj/item/instrument/guitar,
+ /obj/item/rsf/cyborg,
+ /obj/item/instrument/piano_synth,
/obj/item/reagent_containers/dropper,
/obj/item/lighter,
/obj/item/storage/bag/tray,