diff --git a/src/irc/core/modes.c b/src/irc/core/modes.c index f07a0d0b..94e3b6b1 100644 --- a/src/irc/core/modes.c +++ b/src/irc/core/modes.c @@ -251,8 +251,6 @@ void modes_type_prefix(IRC_CHANNEL_REC *channel, const char *setby, char type, char mode, char *arg, GString *newmode) { int umode = (unsigned char) mode; - nick_mode_change(channel, arg, channel->server->modes[umode].prefix, - type, setby); if (g_strcasecmp(channel->server->nick, arg) == 0) { /* see if we need to update channel->chanop */ @@ -274,6 +272,9 @@ void modes_type_prefix(IRC_CHANNEL_REC *channel, const char *setby, channel->chanop = type == '+'; } } + + nick_mode_change(channel, arg, channel->server->modes[umode].prefix, + type, setby); } int channel_mode_is_set(IRC_CHANNEL_REC *channel, char mode)