diff --git a/chrome/content/sogo-connector/general/sync.addressbook.groupdav.js b/chrome/content/sogo-connector/general/sync.addressbook.groupdav.js
index 848c38b..6de7c67 100644
--- a/chrome/content/sogo-connector/general/sync.addressbook.groupdav.js
+++ b/chrome/content/sogo-connector/general/sync.addressbook.groupdav.js
@@ -1215,7 +1215,20 @@ new:
             }
         }
         else
-            dump("onServerHashQueryComlete: the server returned an empty response\n");
+        {
+            dump("onServerSyncQueryComplete: the server returned an empty response\n");
+            // We handle a special case : server returns a 403 status but with an empty response.
+            // It is not well defined in RFC how to handle that.
+            // It seems that IceWarp Server wants the client to retry without a token.
+            if (status == 403) {
+                dump("[sogo-connector] received '403' status"
+                     + ", retrying without a token...\n");
+                this.webdavSyncToken = "";
+                this.triggerWebDAVSync();
+            } else {
+                this.abort();
+            }
+        }
     },
 
     processCards: function() {
