diff -r 068130563311 -r 658a2de74afc core/presencemanager.lua --- a/core/presencemanager.lua Thu Dec 25 04:27:19 2008 +0500 +++ b/core/presencemanager.lua Thu Dec 25 04:58:15 2008 +0500 @@ -103,7 +103,14 @@ end origin.priority = 0; if stanza.attr.type == "unavailable" then - origin.presence = nil; + origin.presence = nil; + if origin.directed then + for _, jid in ipairs(origin.directed) do + stanza.attr.to = jid; + core_route_stanza(origin, stanza); + end + origin.directed = nil; + end else origin.presence = stanza; local priority = stanza:child_with_name("priority");