diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index caaca3958a..767b700051 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -217,30 +217,30 @@ BLIND // can't see anything
..()
/obj/item/clothing/under/CtrlClick(mob/user)
- if(!istype(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user)))
+ . = ..()
+
+ if (!(item_flags & IN_INVENTORY))
return
- var/mob/M = user
- if (istype(M, /mob/dead/))
+ if(!isliving(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user)))
return
- if (!can_use(M))
+
+ if(has_sensor == LOCKED_SENSORS)
+ to_chat(user, "The controls are locked.")
+ return
+ if(has_sensor == BROKEN_SENSORS)
+ to_chat(user, "The sensors have shorted out!")
+ return
+ if(has_sensor <= NO_SENSORS)
+ to_chat(user, "This suit does not have any sensors.")
return
- if(src.has_sensor == LOCKED_SENSORS)
- to_chat(usr, "The controls are locked.")
- return 0
- if(src.has_sensor == BROKEN_SENSORS)
- to_chat(usr, "The sensors have shorted out!")
- return 0
- if(src.has_sensor <= NO_SENSORS)
- to_chat(usr, "This suit does not have any sensors.")
- return 0
- sensor_mode = 3
+ sensor_mode = SENSOR_COORDS
- to_chat(usr, "Your suit will now report your exact vital lifesigns as well as your coordinate position.")
+ to_chat(user, "Your suit will now report your exact vital lifesigns as well as your coordinate position.")
- if(ishuman(loc))
- var/mob/living/carbon/human/H = loc
+ if(ishuman(user))
+ var/mob/living/carbon/human/H = user
if(H.w_uniform == src)
H.update_suit_sensors()