--- vcards.utils.js	2011-02-20 16:13:14.000000000 +0100
+++ vcards.utils.js.new	2011-02-21 19:53:28.000000000 +0100
@@ -600,15 +600,22 @@
     let vCard = ("BEGIN:VCARD\r\n"
                  + "VERSION:3.0\r\n"
                  + "PRODID:-//Inverse inc.//SOGo Connector 1.0//EN\r\n");
-    let uid = card.getProperty("CardUID", "");
+    let uid = card.getProperty("Custom4", "");
     if (!uid.length) {
         uid = card.getProperty("groupDavKey", "");
+        card.setProperty("Custom4", uid);
         card.setProperty("CardUID", uid);
     }
     if (!uid.length) {
         uid = new UUID();
-        card.setProperty("CardUID", uid);
+        card.setProperty("Custom4", uid);
+	card.setProperty("CardUID", uid);
+    }
+    let uid_dynamic = card.getProperty("CardUID", "");
+    if (!uid_dynamic.length) {
+        uid_dynamic = new UUID();
     }
+    vCard += foldedLine("X-ABUID:" + uid_dynamic + "\\:ABPerson") + "\r\n";
     vCard += foldedLine("UID:" + uid) + "\r\n";
 
     let lastName = card.getProperty("LastName", "");
@@ -693,7 +700,7 @@
         let value = ((preferMailFormat == 2)
                      ? "TRUE"
                      : "FALSE");
-        vCard += "X-MOZILLA-HTML:" + value + "\r\n";
+       // vCard += "X-MOZILLA-HTML:" + value + "\r\n";
     }
 
     let primaryEmail = card.getProperty("PrimaryEmail", "");
@@ -732,7 +739,7 @@
                             + "-" + escapedForCard(birthMonth)
                             + "-" + escapedForCard(birthDay)) + "\r\n";
 
-    for (let i = 1; i < 5; i++) {
+    for (let i = 1; i < 4; i++) {
         let custom = card.getProperty("Custom" + i, "");
         if (custom.length)
             vCard += foldedLine("CUSTOM" + i + ":"
