diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm
index c111fce09ad..87485873569 100644
--- a/code/game/machinery/machinery.dm
+++ b/code/game/machinery/machinery.dm
@@ -337,8 +337,6 @@ Class Procs:
return src.attack_hand(user)
/obj/machinery/attack_hand(mob/user as mob)
- if(!interact_offline && stat & (NOPOWER|BROKEN|MAINT))
- return 1
if(user.lying || user.stat)
return 1
@@ -346,11 +344,6 @@ Class Procs:
user << "You don't have the dexterity to do this!"
return 1
-/*
- //distance checks are made by atom/proc/DblClick
- if ((get_dist(src, user) > 1 || !istype(src.loc, /turf)) && !istype(user, /mob/living/silicon))
- return 1
-*/
if (ishuman(user))
var/mob/living/carbon/human/H = user
if(H.getBrainLoss() >= 60)
@@ -360,9 +353,16 @@ Class Procs:
user << "You momentarily forget how to use [src]."
return 1
+ if(panel_open)
+ src.add_fingerprint(user)
+ return 0
+
+ if(!interact_offline && stat & (NOPOWER|BROKEN|MAINT))
+ return 1
+
src.add_fingerprint(user)
- return 0
+ return ..()
/obj/machinery/CheckParts()
RefreshParts()