diff --git a/xos/core/models/attic/xosbase_header.py b/xos/core/models/attic/xosbase_header.py
index 08de602..5848900 100644
--- a/xos/core/models/attic/xosbase_header.py
+++ b/xos/core/models/attic/xosbase_header.py
@@ -25,18 +25,6 @@
         return str(obj)
     return obj.isoformat() if hasattr(obj, 'isoformat') else obj
 
-try:
-    # This is a no-op if observer_disabled is set to 1 in the config file
-    from synchronizers.base import *
-except:
-    print >> sys.stderr, "import of observer failed! printing traceback and disabling observer:"
-    import traceback
-    traceback.print_exc()
-
-    # guard against something failing
-    def notify_observer(*args, **kwargs):
-        pass
-
 class StrippedCharField(models.CharField):
     """ CharField that strips trailing and leading spaces."""
     def clean(self, value, *args, **kwds):
diff --git a/xos/core/models/attic/xosbase_model.py b/xos/core/models/attic/xosbase_model.py
index 26197fa..49df01f 100644
--- a/xos/core/models/attic/xosbase_model.py
+++ b/xos/core/models/attic/xosbase_model.py
@@ -91,10 +91,6 @@
 
     self.push_redis_event()
 
-    # This is a no-op if observer_disabled is set
-    # if not silent:
-    #    notify_observer()
-
     self._initial = self._dict
 
 def save_by_user(self, user, *args, **kwds):
diff --git a/xos/core/models/user.py b/xos/core/models/user.py
index 8f06cb3..a42a719 100644
--- a/xos/core/models/user.py
+++ b/xos/core/models/user.py
@@ -24,20 +24,6 @@
 import redis
 from redis import ConnectionError
 
-# ------ from xosbase.py ------
-try:
-    # This is a no-op if observer_disabled is set to 1 in the config file
-    from synchronizers.base import *
-except:
-    print >> sys.stderr, "import of observer failed! printing traceback and disabling observer:"
-    import traceback
-    traceback.print_exc()
-
-    # guard against something failing
-    def notify_observer(*args, **kwargs):
-        pass
-# ------ ------
-
 # Create your models here.
 
 
@@ -316,10 +302,6 @@
 
         self.push_redis_event()
 
-        # This is a no-op if observer_disabled is set
-        # if not silent:
-        #    notify_observer()
-
         self._initial = self._dict
 
     def send_temporary_password(self):
