diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm
index 93369793586..3f7bd7c02dd 100644
--- a/code/modules/mob/living/say.dm
+++ b/code/modules/mob/living/say.dm
@@ -384,19 +384,20 @@ var/list/department_radio_keys = list(
rendered = "[GetVoice()][alt_name] [message_a]"
var/rendered_ghost = "[GetVoice()][alt_name] [message_ghost]"
for (var/mob/M in heard_a)
- if(hascall(M,"show_message"))
- var/deaf_message = ""
- var/deaf_type = 1
- if(M != src)
- deaf_message = "[name][alt_name] talks but you cannot hear them."
- else
- deaf_message = "You cannot hear yourself!"
- deaf_type = 2 // Since you should be able to hear yourself without looking
- if (M.stat == DEAD && (M.client.prefs.toggles & CHAT_GHOSTEARS) && M in onscreen)
- M:show_message(rendered_ghost, 2, deaf_message, deaf_type)
- else
- M:show_message(rendered, 2, deaf_message, deaf_type)
- M << speech_bubble
+ if(M.client)
+ if(hascall(M,"show_message"))
+ var/deaf_message = ""
+ var/deaf_type = 1
+ if(M != src)
+ deaf_message = "[name][alt_name] talks but you cannot hear them."
+ else
+ deaf_message = "You cannot hear yourself!"
+ deaf_type = 2 // Since you should be able to hear yourself without looking
+ if (M.stat == DEAD && (M.client.prefs.toggles & CHAT_GHOSTEARS) && M in onscreen)
+ M:show_message(rendered_ghost, 2, deaf_message, deaf_type)
+ else
+ M:show_message(rendered, 2, deaf_message, deaf_type)
+ M << speech_bubble
if (length(heard_b))