diff --git a/backends/libcommuni/session.cpp b/backends/libcommuni/session.cpp index 43824d39a63411914266a07ac0ded28712d7f291..c8b271f624203517e1e7d1c075cc14d09a5ffc21 100644 --- a/backends/libcommuni/session.cpp +++ b/backends/libcommuni/session.cpp @@ -117,6 +117,9 @@ void MyIrcSession::on_quit(IrcMessage *message) { for(AutoJoinMap::iterator it = m_autoJoin.begin(); it != m_autoJoin.end(); it++) { bool op = 0; std::string nickname = TO_UTF8(m->sender().name()); + if (!hasIRCBuddy(it->second->getChannel(), nickname)) { + continue; + } op = correctNickname(nickname); removeIRCBuddy(it->second->getChannel(), nickname); LOG4CXX_INFO(logger, user << ": " << nickname << " quit " << it->second->getChannel() + suffix);