diff --git a/product/ERP5Type/Tool/WebServiceTool.py b/product/ERP5Type/Tool/WebServiceTool.py
index 02fc936299533631dc2fc20d1154bd10b0210a5c..aa406c7b6b89119ef555438d1d66d2aae1d2ec3b 100644
--- a/product/ERP5Type/Tool/WebServiceTool.py
+++ b/product/ERP5Type/Tool/WebServiceTool.py
@@ -37,8 +37,10 @@ from Products.ERP5Type import _dtmldir
 
 connection_plugin_registry = {}
 
-def registerConnectionPlugin(name, klass):
-  assert name not in connection_plugin_registry, (name, connection_plugin_registry)
+def registerConnectionPlugin(name, klass, ignore_duplicate=False):
+  if not ignore_duplicate:
+    if name not in connection_plugin_registry:
+      raise ValueError('The connection plugin %r has already been registered in the registry %r' % (name, connection_plugin_registry))
   connection_plugin_registry[name] = klass
 
 # Import and register known connection plugins