Index: src/core/nicklist.c
===================================================================
--- src/core/nicklist.c	(revision 5217)
+++ src/core/nicklist.c	(working copy)
@@ -30,6 +30,8 @@
 #define isalnumhigh(a) \
         (i_isalnum(a) || (unsigned char) (a) >= 128)
 
+#define isnicksep(a) (a == ' ' || a == ',' || a == ':')
+
 static void nick_hash_add(CHANNEL_REC *channel, NICK_REC *nick)
 {
 	NICK_REC *list;
@@ -559,14 +561,13 @@
 
 		/* no match. check if this is a message to multiple people
 		   (like nick1,nick2: text) */
-		while (*msg != '\0' && *msg != ' ' && *msg != ',') msg++;
+		while (*msg != '\0' && !isnicksep(*msg)) msg++;
+		while (*msg != '\0' && isnicksep(*msg)) msg++;
 
-		if (*msg != ',') {
-                        nick = orignick;
+		if (*msg == '\0') {
+			nick = orignick;
 			break;
 		}
-
-                msg++;
 	}
 
 	if (*nick != '\0')
