diff --git a/src/linkahead/common/models.py b/src/linkahead/common/models.py
index 1112aafcb64dbf7c96c9c7edae65d36398ad7464..6f37c217a335e034cc06cc89e0ede1fa7765d53a 100644
--- a/src/linkahead/common/models.py
+++ b/src/linkahead/common/models.py
@@ -1293,7 +1293,8 @@ class Entity:
                 elif self.value.name is not None:
                     xml.text = str(self.value.name)
                 else:
-                    self.value.to_xml(xml, visited_entities=visited_entities.copy())
+                    dt_str = xml2str(self.value.to_xml(visited_entities=visited_entities.copy()))
+                    xml.text = dt_str
             elif isinstance(self.value, list):
                 for v in self.value:
                     v_elem = etree.Element("Value")
@@ -1304,9 +1305,6 @@ class Entity:
                         elif v.name is not None:
                             v_elem.text = str(v.name)
                         else:
-                            # We could consider reworking this to use value
-                            # instead of text analogously to scalar Entity
-                            # values, if this is supported server-side?
                             dt_str = xml2str(v.to_xml(visited_entities=visited_entities.copy()))
                             v_elem.text = dt_str
                     elif v == "":