diff --git a/product/ERP5SyncML/Publication.py b/product/ERP5SyncML/Publication.py
index 518a0e5b7a3368847a66a612552a2860effc1ca7..70d671c8bc21009b6b916cfa510f31cd354d8f89 100644
--- a/product/ERP5SyncML/Publication.py
+++ b/product/ERP5SyncML/Publication.py
@@ -221,16 +221,15 @@ class Publication(Subscription):
     """
       Delete a subscriber for this publication
     """
-    for o in self.getSubscriberList():
-      if o.getSubscriptionUrl() == subscription_url:
-        self.activate().manage_delObjects(o.id)
+    if subscription_url in [o.getSubscriptionUrl() for o in self.getSubscriberList()]:
+      self.manage_delObjects(o.id)
 
   def resetAllSubscribers(self):
     """
       Reset all subscribers
     """
     for o in self.getSubscriberList():
-      self.activate(activity='SQLQueue').manage_delObjects(o.id)
+      self.activate(activity='SQLQueue', tag=self.getId()).manage_delObjects(o.id)
 
   def getConflictList(self):
     """
diff --git a/product/ERP5SyncML/SynchronizationTool.py b/product/ERP5SyncML/SynchronizationTool.py
index 915b65565c039be1ca01c7011b742e7c6a31a1e5..ed8e9c9332d627f598f116aed72df0021f7f5a50 100644
--- a/product/ERP5SyncML/SynchronizationTool.py
+++ b/product/ERP5SyncML/SynchronizationTool.py
@@ -859,7 +859,9 @@ class SynchronizationTool( SubscriptionSynchronization,
           #use activities to send send an http response
           #LOG('sendResponse, will start sendHttpResponse, xml', DEBUG, '')
           activity = self.getActivityType(domain=domain)
-          self.activate(activity=activity).sendHttpResponse(sync_id=sync_id,
+          self.activate(activity=activity,
+                          tag = domain.getId()).sendHttpResponse(
+                                           sync_id=sync_id,
                                            to_url=to_url,
                                            xml=xml,
                                            domain_path=domain.getPath(),
@@ -938,7 +940,8 @@ class SynchronizationTool( SubscriptionSynchronization,
       result = url_file.read()
     except socket.error, msg:
       activity = self.getActivityType(domain=domain)
-      self.activate(activity=activity).sendHttpResponse(
+      self.activate(activity=activity,
+                        tag = domain.getId()).sendHttpResponse(
                                               to_url=to_url,
                                               sync_id=sync_id,
                                               xml=xml,
@@ -974,7 +977,9 @@ class SynchronizationTool( SubscriptionSynchronization,
         user = uf.getUserById(user_id).__of__(uf)
         newSecurityManager(None, user)
         activity = self.getActivityType(domain=subscription)
-        subscription.activate(activity=activity).SubSync(subscription.getPath())
+        subscription.activate(activity=activity,
+                                  tag = subscription.getId()
+                                  ).SubSync(subscription.getPath())
 
   security.declarePublic('readResponse')
   def readResponse(self, text='', sync_id=None, to_url=None, from_url=None):
@@ -1033,7 +1038,9 @@ class SynchronizationTool( SubscriptionSynchronization,
         publication.getTitle()==sync_id:
           if publication.getActivityEnabled():
             #use activities to send SyncML data.
-            publication.activate(activity='SQLDict').PubSync(
+            activity = self.getActivityType(domain=publication)
+            publication.activate(activity=activity,
+                                      tag=publication.getId()).PubSync(
                                                         publication.getPath(),
                                                         text)
             return ' '
@@ -1050,8 +1057,10 @@ class SynchronizationTool( SubscriptionSynchronization,
             subscription.getTitle() == sync_id:
               subscription_path = subscription.getPath()
               activity = self.getActivityType(domain=subscription)
-              self.activate(activity=activity).SubSync(subscription_path,
-                                                         text)
+              self.activate(activity=activity,
+                                 tag=subscription.getId()).SubSync(
+                                                      subscription_path,
+                                                      text)
               return ' '
 
     # we use from only if we have a file