diff --git a/slixmpp/stanza/message.py b/slixmpp/stanza/message.py
index 2a0f20bd..50d32ff0 100644
--- a/slixmpp/stanza/message.py
+++ b/slixmpp/stanza/message.py
@@ -5,7 +5,6 @@
 # See the file LICENSE for copying permission.
 from slixmpp.stanza.rootstanza import RootStanza
 from slixmpp.xmlstream import StanzaBase, ET
-from slixmpp.basexmpp import BaseXMPP
 
 
 ORIGIN_NAME = '{urn:xmpp:sid:0}origin-id'
@@ -62,8 +61,10 @@ class Message(RootStanza):
         """
         StanzaBase.__init__(self, *args, **kwargs)
         if not recv and self['id'] == '':
-            if isinstance(self.stream, BaseXMPP) and self.stream.use_message_ids:
-                self['id'] = self.stream.new_id()
+            if self.stream:
+                use_ids = getattr(self.stream, 'use_message_ids', None)
+                if use_ids:
+                    self['id'] = self.stream.new_id()
             else:
                 del self['origin_id']
 
@@ -94,8 +95,10 @@ class Message(RootStanza):
 
         self.xml.attrib['id'] = value
 
-        if isinstance(self.stream, BaseXMPP) and not self.stream.use_origin_id:
-            return None
+        if self.stream:
+            use_orig_ids = getattr(self.stream, 'use_origin_id', None)
+            if not use_orig_ids:
+                return None
 
         sub = self.xml.find(ORIGIN_NAME)
         if sub is not None:
diff --git a/slixmpp/stanza/presence.py b/slixmpp/stanza/presence.py
index a0742a95..d77ce1e4 100644
--- a/slixmpp/stanza/presence.py
+++ b/slixmpp/stanza/presence.py
@@ -1,11 +1,9 @@
-
 # Slixmpp: The Slick XMPP Library
 # Copyright (C) 2010  Nathanael C. Fritz
 # This file is part of Slixmpp.
 # See the file LICENSE for copying permission.
 from slixmpp.stanza.rootstanza import RootStanza
 from slixmpp.xmlstream import StanzaBase
-from slixmpp.basexmpp import BaseXMPP
 
 
 class Presence(RootStanza):
@@ -70,8 +68,10 @@ class Presence(RootStanza):
         """
         StanzaBase.__init__(self, *args, **kwargs)
         if not recv and self['id'] == '':
-            if isinstance(self.stream, BaseXMPP) and self.stream.use_presence_ids:
-                self['id'] = self.stream.new_id()
+            if self.stream:
+                use_ids = getattr(self.stream, 'use_presence_ids', None)
+                if use_ids:
+                    self['id'] = self.stream.new_id()
 
     def set_show(self, show: str):
         """