diff --git a/modules/mol/base/src/impl/entity_impl.cc b/modules/mol/base/src/impl/entity_impl.cc
index 937a63213164791056f34434b5c69267f8dc1047..410c41715933d006f865e1803a73077177702657 100644
--- a/modules/mol/base/src/impl/entity_impl.cc
+++ b/modules/mol/base/src/impl/entity_impl.cc
@@ -774,6 +774,10 @@ void EntityImpl::AttachObserver(const EntityObserverPtr& o)
 void EntityImpl::DetachObserver(const EntityObserverPtr& o)
 {
   EntityObserverMap::iterator it=observer_map_.find(o.get());
+
+  if(it != observer_map_.end()) {
+    observer_map_.erase(it);
+  }
 }
 
 void EntityImpl::NotifyObserver()