diff --git a/code/game/gamemodes/blob/blobs/blob_mobs.dm b/code/game/gamemodes/blob/blobs/blob_mobs.dm
index 97f80fb9bd3..4c7f216233a 100644
--- a/code/game/gamemodes/blob/blobs/blob_mobs.dm
+++ b/code/game/gamemodes/blob/blobs/blob_mobs.dm
@@ -224,8 +224,11 @@
/mob/living/simple_animal/hostile/blob/blobbernaut/proc/blob_talk()
var/message = input(src, "Announce to the overmind", "Blob Telepathy")
- var/rendered = "Blob Telepathy, [name]([overmind]) states, \"[message]\""
+ var/rendered
+ var/follow_text
if(message)
for(var/mob/M in GLOB.mob_list)
- if(isovermind(M) || isobserver(M) || istype((M), /mob/living/simple_animal/hostile/blob/blobbernaut))
- M.show_message(rendered, 2)
+ follow_text = isobserver(M) ? " ([ghost_follow_link(src, ghost = M)])" : ""
+ rendered = "Blob Telepathy, [name]([overmind])[follow_text] states, \"[message]\""
+ if(isovermind(M) || isobserver(M) || istype(M, /mob/living/simple_animal/hostile/blob/blobbernaut))
+ M.show_message(rendered, EMOTE_AUDIBLE)
diff --git a/code/game/gamemodes/blob/overmind.dm b/code/game/gamemodes/blob/overmind.dm
index 35fe730c6f7..c3ec43b145f 100644
--- a/code/game/gamemodes/blob/overmind.dm
+++ b/code/game/gamemodes/blob/overmind.dm
@@ -94,12 +94,13 @@
if(!message)
return
- var/verb = "states,"
- var/rendered = "Blob Telepathy, [name]([blob_reagent_datum.name]) [verb] \"[message]\""
-
+ var/rendered
+ var/follow_text
for(var/mob/M in GLOB.mob_list)
- if(isovermind(M) || isobserver(M) || istype((M), /mob/living/simple_animal/hostile/blob/blobbernaut))
- M.show_message(rendered, 2)
+ follow_text = isobserver(M) ? " ([ghost_follow_link(src, ghost=M)])" : ""
+ rendered = "Blob Telepathy, [name]([blob_reagent_datum.name])[follow_text] states, \"[message]\""
+ if(isovermind(M) || isobserver(M) || istype(M, /mob/living/simple_animal/hostile/blob/blobbernaut))
+ M.show_message(rendered, EMOTE_AUDIBLE)
/mob/camera/blob/blob_act(obj/structure/blob/B)
return