diff --git a/product/ERP5SyncML/Tool/SynchronizationTool.py b/product/ERP5SyncML/Tool/SynchronizationTool.py
index 426b7d710e5f019aee23412f697b6a2281b73747..a16a32a56d68a053c1307fc0254d6b0e9ce604ce 100644
--- a/product/ERP5SyncML/Tool/SynchronizationTool.py
+++ b/product/ERP5SyncML/Tool/SynchronizationTool.py
@@ -1110,8 +1110,13 @@ class SynchronizationTool(BaseTool):
     subscription.initLastMessageId()
 
     # save the actual user to use it in all the session:
-    user = getSecurityManager().getUser()
-    subscription._edit(zope_user=user.getId())
+    user_id = getSecurityManager().getUser().getId()
+    user_folder = self.getPortalObject().acl_users
+    user = user_folder.getUserById(user_id)
+    if user is None:
+      raise ValueError, "Current logged user %s cannot be found in user folder, \
+                 synchronization cannot work with this kind of user"
+    subscription._edit(zope_user=user_id)
     if subscription.getAuthenticationState() != 'logged_in':
       subscription.login()