diff --git a/product/ERP5SyncML/Conduit/ERP5Conduit.py b/product/ERP5SyncML/Conduit/ERP5Conduit.py
index 08d7af12d13d8da9f93bfc1fc77f4623ef877edc..0df7b45c16604d62ac4c27d4de4ddd4ed459d20e 100644
--- a/product/ERP5SyncML/Conduit/ERP5Conduit.py
+++ b/product/ERP5SyncML/Conduit/ERP5Conduit.py
@@ -695,11 +695,9 @@ class ERP5Conduit(XMLSyncUtilsMixin):
     Retrieve the portal type from an xml
     """
     portal_type = None
-    for subnode in self.getAttributeNodeList(xml):
-      if subnode.nodeName == 'portal_type':
-        portal_type = subnode.nodeValue
-        portal_type = self.convertXmlValue(portal_type)
-        return portal_type
+    attr_list = xml.xpath('.//@portal_type[1]')
+    if attr_list:
+      portal_type = attr_list[0].value.encode('utf-8')
     return portal_type
 
   security.declareProtected(Permissions.AccessContentsInformation,'getPropertyType')
@@ -707,12 +705,11 @@ class ERP5Conduit(XMLSyncUtilsMixin):
     """
     Retrieve the portal type from an xml
     """
-    p_type = None # use getElementsByTagName !!!! XXX
-    for subnode in self.getAttributeNodeList(xml):
-      if subnode.nodeName == 'type':
-        p_type = subnode.nodeValue
-        p_type = self.convertXmlValue(p_type,data_type='string')
-        return p_type
+    p_type = None
+    attr_list = xml.xpath('.//@type[1]')
+    if attr_list:
+      p_type = attr_list[0].value.encode('utf-8')
+      p_type = self.convertXmlValue(p_type, data_type='string')
     return p_type
 
   security.declareProtected(Permissions.AccessContentsInformation,'getXupdateObjectType')