diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm
index 5506c244801..db3ac037cf2 100644
--- a/code/modules/assembly/signaler.dm
+++ b/code/modules/assembly/signaler.dm
@@ -38,7 +38,10 @@ GLOBAL_LIST_EMPTY(remote_signalers)
S.signal_callback()
var/turf/T = get_turf(src)
- GLOB.lastsignalers.Add("[SQLtime()] : [usr.key] used [src] @ location ([T.x],[T.y],[T.z]) : [format_frequency(frequency)]/[code]")
+ var/invoking_ckey = "unknown"
+ if(usr) // sometimes (like when a prox sensor sends a signal) there is no usr
+ invoking_ckey = usr.key
+ GLOB.lastsignalers.Add("[SQLtime()] : [invoking_ckey] used [src] @ location ([T.x],[T.y],[T.z]) : [format_frequency(frequency)]/[code]")
/obj/item/assembly/signaler/proc/signal_callback()
pulse(1)