diff --git a/src/sbbs3/postmsg.cpp b/src/sbbs3/postmsg.cpp
index b4cecbd343a1ac4eba795fe45c223c7231fadbd6..ff4f5f5200bee04d687d3664638f22ec46d179e6 100644
--- a/src/sbbs3/postmsg.cpp
+++ b/src/sbbs3/postmsg.cpp
@@ -675,7 +675,9 @@ extern "C" int notify(scfg_t* cfg, uint usernumber, const char* subject, const c
 		SAFEPRINTF(str, "%u", usernumber);
 		smb_hfield_str(&msg, RECIPIENTEXT, str);
 	}
-	smb_hfield_str(&msg, SUBJECT, subject);
+	char* msgsubj = strip_ctrl(subject, NULL);
+	smb_hfield_str(&msg, SUBJECT, msgsubj);
+	free(msgsubj);
 	add_msg_ids(cfg, &smb, &msg, /* remsg: */NULL);
 	if(msgbase_open(cfg, &smb, INVALID_SUB, &storage, &dupechk_hashes, &xlat) == SMB_SUCCESS) {
 		smb_addmsg(&smb, &msg, storage, dupechk_hashes, xlat, (uchar*)text, /* tail: */NULL);