diff --git a/vospace-ui-backend/src/main/java/it/inaf/ia2/vospace/ui/client/VOSpaceClient.java b/vospace-ui-backend/src/main/java/it/inaf/ia2/vospace/ui/client/VOSpaceClient.java
index b4160c158c97a5af962474e61062e6ef4cbbd945..c7c57354cb9f8f63a0c1b4212ced544692fbe1bc 100644
--- a/vospace-ui-backend/src/main/java/it/inaf/ia2/vospace/ui/client/VOSpaceClient.java
+++ b/vospace-ui-backend/src/main/java/it/inaf/ia2/vospace/ui/client/VOSpaceClient.java
@@ -167,7 +167,7 @@ public class VOSpaceClient {
 
         String path = node.getUri().substring(("vos://" + authority).length());
 
-        HttpRequest request = getRequest("/nodes" + path + "?recursive=" + recursive)
+        HttpRequest request = getRequest("/nodes" + urlEncodePath(path) + "?recursive=" + recursive)
                 .header("Accept", useJson ? "application/json" : "text/xml")
                 .header("Content-Type", useJson ? "application/json" : "text/xml")
                 .POST(HttpRequest.BodyPublishers.ofString(marshal(node)))