diff --git a/radicale/xmlutils.py b/radicale/xmlutils.py
index f195aeb..e92ff49 100644
--- a/radicale/xmlutils.py
+++ b/radicale/xmlutils.py
@@ -577,7 +577,11 @@ def _propfind_response(path, item, props, user, write=False):
             tag = ET.Element(_tag("D", "href"))
             tag.text = _href(collection, "/")
             element.append(tag)
-        elif tag == _tag("D", "principal-URL") and collection.is_principal:
+        elif (tag in (_tag("C", "calendar-user-address-set"),
+                      _tag("D", "principal-URL"),
+                      _tag("CR", "addressbook-home-set"),
+                      _tag("C", "calendar-home-set")) and
+                collection.is_principal and is_collection):
             tag = ET.Element(_tag("D", "href"))
             tag.text = _href(collection, path)
             element.append(tag)
@@ -595,11 +599,7 @@ def _propfind_response(path, item, props, user, write=False):
                     element.append(comp)
             else:
                 is404 = True
-        elif tag in (
-                _tag("D", "current-user-principal"),
-                _tag("C", "calendar-user-address-set"),
-                _tag("CR", "addressbook-home-set"),
-                _tag("C", "calendar-home-set")):
+        elif tag == _tag("D", "current-user-principal"):
             tag = ET.Element(_tag("D", "href"))
             tag.text = _href(collection, ("/%s/" % user) if user else "/")
             element.append(tag)