diff --git a/src/user.cpp b/src/user.cpp index 56f53f72095e541dda06b296b8da50d9ec108327..242afbba9e96cd5c2e87b22e026c7f2ac8e0273a 100644 --- a/src/user.cpp +++ b/src/user.cpp @@ -266,13 +266,14 @@ void User::handlePresence(Swift::Presence::ref presence) { } else { sendCurrentPresence(); - // This resource is new, so we have to send buddies presences - if (currentResourcesCount != m_resources) { - m_rosterManager->sendCurrentPresences(presence->getFrom()); - } } } + // This resource is new, so we have to send buddies presences + if (presence->getType() != Swift::Presence::Unavailable && currentResourcesCount != m_resources) { + m_rosterManager->sendCurrentPresences(presence->getFrom()); + } + m_resources = currentResourcesCount;