diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index c5777eb511c..8f2fb94ecc9 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -707,6 +707,8 @@
update_icon()
else
to_chat(user, "Access denied.")
+ if(user == src) //RS edit: No self-unlocking.
+ to_chat(user, "You are not allowed to manipulate your own lock.")
else if(istype(W, /obj/item/borg/upgrade/))
var/obj/item/borg/upgrade/U = W
@@ -714,6 +716,8 @@
to_chat(usr, "You must access the borgs internals!")
else if(!src.module && U.require_module)
to_chat(usr, "The borg must choose a module before it can be upgraded!")
+ else if(user == src) //RS edit: No self-upgrading.
+ to_chat(user, "You lack the reach to be able to upgrade yourself.")
else if(U.locked)
to_chat(usr, "The upgrade is locked and cannot be used yet!")
else
@@ -846,7 +850,10 @@
else if(istype(M, /mob/living/silicon/robot))
var/mob/living/silicon/robot/R = M
if(check_access(R.get_active_hand()) || istype(R.get_active_hand(), /obj/item/weapon/card/robot))
- return 1
+ if(R == src) //RS edit: No self-unlocking.
+ return FALSE
+ else
+ return TRUE
return 0
/mob/living/silicon/robot/proc/check_access(obj/item/I)