diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm
index 3ceafe4a11..c7bf88f63b 100644
--- a/code/modules/mob/say.dm
+++ b/code/modules/mob/say.dm
@@ -43,6 +43,11 @@
if(GLOB.say_disabled) //This is here to try to identify lag problems
to_chat(usr, "Speech is currently admin-disabled.")
return
+
+ if(length(message) > MAX_MESSAGE_LEN)
+ to_chat(user, message)
+ to_chat(user, "^^^----- The preceeding message has been DISCARDED for being over the maximum length of [max_length*2] bytes. It has NOT been sent! -----^^^")
+ return
message = trim(copytext_char(sanitize(message), 1, MAX_MESSAGE_LEN))
clear_typing_indicator() // clear it immediately!