diff --git a/product/ERP5SyncML/SynchronizationTool.py b/product/ERP5SyncML/SynchronizationTool.py
index a3a0a3221a55c95e40151f34eb8f14ebac417c21..0d9a162e1ba8143ce7c59f2d15acfff46c816071 100644
--- a/product/ERP5SyncML/SynchronizationTool.py
+++ b/product/ERP5SyncML/SynchronizationTool.py
@@ -52,6 +52,7 @@ from AccessControl.User import UnrestrictedUser
 from Acquisition import aq_base
 import urllib
 import urllib2
+import httplib
 import socket
 import os
 import string
@@ -60,6 +61,17 @@ import random
 from DateTime import DateTime
 from zLOG import LOG
 
+class TimeoutHTTPConnection(httplib.HTTPConnection):
+  """
+  Custom Classes to set timeOut on handle sockets
+  """
+  def connect(self):
+    httplib.HTTPConnection.connect(self)
+    self.sock.settimeout(3600)
+
+class TimeoutHTTPHandler(urllib2.HTTPHandler):
+  def http_open(self, req):
+    return self.do_open(TimeoutHTTPConnection, req)
 
 
 class SynchronizationTool( SubscriptionSynchronization, 
@@ -889,10 +901,9 @@ class SynchronizationTool( SubscriptionSynchronization,
     pass_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
     auth_handler = urllib2.HTTPBasicAuthHandler(pass_mgr)
     proxy_auth_handler = urllib2.ProxyBasicAuthHandler(pass_mgr)
-    opener = urllib2.build_opener(proxy_handler, proxy_auth_handler, 
-        auth_handler, urllib2.HTTPHandler)
+    opener = urllib2.build_opener(proxy_handler, proxy_auth_handler,
+        auth_handler, TimeoutHTTPHandler)
     urllib2.install_opener(opener)
-    socket.setdefaulttimeout(3660)
     to_encode = {}
     head = '<?xml version="1.0" encoding="UTF-8"?>'
     to_encode['text'] = head + xml