diff --git a/code/modules/mob/language/language.dm b/code/modules/mob/language/language.dm
index 5322a7ed50d..a69e08df581 100644
--- a/code/modules/mob/language/language.dm
+++ b/code/modules/mob/language/language.dm
@@ -17,7 +17,7 @@
var/flags = 0 // Various language flags.
var/native // If set, non-native speakers will have trouble speaking.
var/list/syllables // Used when scrambling text for a non-speaker.
- var/list/space_chance = 55 // Likelihood of getting a space in the random scramble string.
+ var/list/space_chance = 55 // Likelihood of getting a space in the random scramble string
/datum/language/proc/get_random_name(var/gender, name_count=2, syllable_count=4)
if(!syllables || !syllables.len)
@@ -112,9 +112,11 @@
/mob/new_player/hear_broadcast()
return
-/mob/dead/hear_broadcast(var/datum/language/language, var/speaker, var/speaker_name, var/message)
- var/msg = "[language.name], [speaker_name] ([ghost_follow_link(speaker, src)]) [message]"
- src << msg
+/mob/dead/observer/hear_broadcast(var/datum/language/language, var/mob/speaker, var/speaker_name, var/message)
+ if(speaker.name == speaker_name || antagHUD)
+ src << "[language.name], [speaker_name] ([ghost_follow_link(speaker, src)]) [message]"
+ else
+ src << "[language.name], [speaker_name] [message]"
/datum/language/proc/check_special_condition(var/mob/other)
return 1