diff --git a/code/modules/admin/verbs/adminsay.dm b/code/modules/admin/verbs/adminsay.dm
index bf39288511..03f891798e 100644
--- a/code/modules/admin/verbs/adminsay.dm
+++ b/code/modules/admin/verbs/adminsay.dm
@@ -9,6 +9,8 @@
if(!msg)
return
+ msg = emoji_parse(msg)
+
log_talk(mob,"[key_name(src)] : [msg]",LOGASAY)
msg = keywords_lookup(msg)
if(check_rights(R_ADMIN,0))
diff --git a/code/modules/admin/verbs/deadsay.dm b/code/modules/admin/verbs/deadsay.dm
index a89a30b9ba..1d200ff9c1 100644
--- a/code/modules/admin/verbs/deadsay.dm
+++ b/code/modules/admin/verbs/deadsay.dm
@@ -19,6 +19,9 @@
if (!msg)
return
+
+ msg = emoji_parse(msg)
+
var/static/nicknames = world.file2list("[global.config.directory]/admin_nicknames.txt")
var/rendered = "DEAD: [uppertext(holder.rank)]([src.holder.fakekey ? pick(nicknames) : src.key]) says, \"[msg]\""
diff --git a/code/modules/mob/dead/observer/say.dm b/code/modules/mob/dead/observer/say.dm
index 7e8a493f7a..4d5587b1b4 100644
--- a/code/modules/mob/dead/observer/say.dm
+++ b/code/modules/mob/dead/observer/say.dm
@@ -36,4 +36,3 @@
// Recompose the message, because it's scrambled by default
message = compose_message(speaker, message_language, raw_message, radio_freq, spans, message_mode)
to_chat(src, "[link] [message]")
-
diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm
index 05bafdeb58..c6f24aa8f8 100644
--- a/code/modules/mob/say.dm
+++ b/code/modules/mob/say.dm
@@ -47,7 +47,7 @@
if(jb)
to_chat(src, "You have been banned from deadchat.")
return
-
+
if (src.client)
@@ -75,6 +75,7 @@
K = src.key
message = src.say_quote(message, get_spans())
+ message = emoji_parse(message)
var/rendered = "DEAD: [name][alt_name] [message]"
log_message("DEAD: [message]", INDIVIDUAL_SAY_LOG)
deadchat_broadcast(rendered, follow_target = src, speaker_key = K)