diff --git a/src/sbbs3/atcodes.cpp b/src/sbbs3/atcodes.cpp
index 7acb323526a38ed634dd12b466e8b7e4ded4b5ed..a12c65efc3cae5aafd874c86ea9bf6ee3dcc12a9 100644
--- a/src/sbbs3/atcodes.cpp
+++ b/src/sbbs3/atcodes.cpp
@@ -365,6 +365,9 @@ const char* sbbs_t::atcode(const char* sp, char* str, size_t maxlen, int* pmode,
 		return nulstr;
 	}
 
+	if (strcmp(sp, "AT") == 0)
+		return "@";
+
 	if (strncmp(sp, "U+", 2) == 0) { // UNICODE
 		enum unicode_codepoint codepoint = (enum unicode_codepoint)strtoul(sp + 2, &tp, 16);
 		if (tp == NULL || *tp == 0)