diff --git a/src/common/xmpp/roster_nb.py b/src/common/xmpp/roster_nb.py
index 57a35f7de73a46356cfdd7588a51ae304d3e0bd6..c5a7bb4632a29ddf305b00a37002c7dc950cc025 100644
--- a/src/common/xmpp/roster_nb.py
+++ b/src/common/xmpp/roster_nb.py
@@ -342,6 +342,9 @@ class NonBlockingRoster(PlugIn):
             self._owner.Dispatcher.ProcessNonBlocking(data)
         if not self.set:
             return
+        if not self._owner:
+            # Connection has been closed by receiving a <stream:error> for ex,
+            return
         self._owner.onreceive(None)
         if self.on_ready:
             self.on_ready(self)