diff --git a/src/main/java/it/inaf/oats/vospace/persistence/NodeDAO.java b/src/main/java/it/inaf/oats/vospace/persistence/NodeDAO.java
index 10ada3f78d9a59bfded19309c8b7fb289e5737af..467a0eee12c51877db3d1db08e87427a419386e6 100644
--- a/src/main/java/it/inaf/oats/vospace/persistence/NodeDAO.java
+++ b/src/main/java/it/inaf/oats/vospace/persistence/NodeDAO.java
@@ -187,8 +187,9 @@ public class NodeDAO {
 
         List<Property> properties = new ArrayList<>();
 
-        addProperty(NodeProperties.LENGTH_URI, rs.getString("content_length"),
-                properties);
+        // Content length is required for CADC client compatibility
+        String contentLength = rs.getString("content_length");
+        addProperty(NodeProperties.LENGTH_URI, contentLength == null ? "0" : contentLength, properties);
 
         String creationTime = rs.getString("created_on").replace(" ", "T");
         
diff --git a/src/test/java/it/inaf/oats/vospace/persistence/NodeDAOTest.java b/src/test/java/it/inaf/oats/vospace/persistence/NodeDAOTest.java
index c2eb8567722b587732cdeabc919d0cb6698ff492..718b79befc6dfb09ecc66c4da5cfcfc3388e76e3 100644
--- a/src/test/java/it/inaf/oats/vospace/persistence/NodeDAOTest.java
+++ b/src/test/java/it/inaf/oats/vospace/persistence/NodeDAOTest.java
@@ -59,7 +59,8 @@ public class NodeDAOTest {
         ContainerNode root = (ContainerNode) dao.listNode("/").get();
         assertEquals(2, root.getNodes().size());
 
-        assertEquals("true", NodeProperties.getNodePropertyAsListByURI(root, NodeProperties.PUBLIC_READ_URI).get(0));
+        assertEquals("true", NodeProperties.getNodePropertyByURI(root, NodeProperties.PUBLIC_READ_URI));
+        assertEquals("0", NodeProperties.getNodePropertyByURI(root, NodeProperties.LENGTH_URI));
 
         assertEquals("group1 group2", NodeProperties.getNodePropertyByURI(root.getNodes().get(0), NodeProperties.GROUP_READ_URI));