summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--src/common/modes.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/common/modes.c b/src/common/modes.c
index 756f0858..d8fd75aa 100644
--- a/src/common/modes.c
+++ b/src/common/modes.c
@@ -918,8 +918,12 @@ inbound_005 (server * serv, char *word[], const message_tags_data *tags_data)
 			server_set_encoding (serv, "UTF-8");
 		} else if (g_strcmp0 (tokname, "NAMESX") == 0)
 		{
-									/* 12345678901234567 */
-			tcp_send_len (serv, "PROTOCTL NAMESX\r\n", 17);
+			if (tokadding && !serv->have_namesx)
+			{
+				/* only use protoctl if the server doesn't have the equivalent cap */
+				tcp_send_len (serv, "PROTOCTL NAMESX\r\n", 17);
+				serv->have_namesx = TRUE;
+			}
 		} else if (g_strcmp0 (tokname, "WHOX") == 0)
 		{
 			serv->have_whox = tokadding;