diff --git a/src/main/java/it/inaf/oats/vospace/CreateNodeController.java b/src/main/java/it/inaf/oats/vospace/CreateNodeController.java
index 16418249bf8b4a3b5399676c2693b101f0f33efc..1979ee7624914fc100570b6ea4bab77ad860118d 100644
--- a/src/main/java/it/inaf/oats/vospace/CreateNodeController.java
+++ b/src/main/java/it/inaf/oats/vospace/CreateNodeController.java
@@ -63,8 +63,8 @@ public class CreateNodeController extends BaseNodeController {
         List<String> nodeGroups
                 = Arrays.asList(groupWritePropValues.get(0).split(" ", -1));
 
-        if (userGroups == null || 
-                !nodeGroups.stream().anyMatch((i) -> userGroups.contains(i))) {
+        if (userGroups == null
+                || !nodeGroups.stream().anyMatch((i) -> userGroups.contains(i))) {
             // If groups don't match check ownership at least
             List<String> nodeOwner
                     = getNodePropertyByURI(parentNode, "ivo://ivoa.net/vospace/core#creator");
@@ -114,13 +114,26 @@ public class CreateNodeController extends BaseNodeController {
 
     }
 
+    // This method assumes that URL is in the format /node1/node2/...
+    // multiple slashes as a single separator are allowed
+    // But the output has only single slash separators
     private String getParentPath(String path) {
-        String[] parsedPath = path.split("/");
+
+        String[] parsedPath = path.split("[/]+");
+
+        if (parsedPath.length < 2 || !parsedPath[0].isEmpty()) {
+            throw new IllegalArgumentException();
+        }
 
         StringBuilder sb = new StringBuilder();
+        sb.append("/");
 
-        for (int i = 0; i < parsedPath.length - 1; i++) {
-            sb.append("/").append(parsedPath[i]);
+        System.out.println(parsedPath.length);
+        for (int i = 1; i < parsedPath.length - 1; i++) {
+            sb.append(parsedPath[i]);
+            if (i < parsedPath.length - 2) {
+                sb.append("/");
+            }
         }
 
         return sb.toString();
diff --git a/src/test/java/it/inaf/oats/vospace/CreateNodeControllerTest.java b/src/test/java/it/inaf/oats/vospace/CreateNodeControllerTest.java
index 7439a9a3c20caf60adeb2c076e57030e1100cead..d812ef1c645ab4a420f8b430685b6736e2424f7c 100644
--- a/src/test/java/it/inaf/oats/vospace/CreateNodeControllerTest.java
+++ b/src/test/java/it/inaf/oats/vospace/CreateNodeControllerTest.java
@@ -278,7 +278,7 @@ public class CreateNodeControllerTest {
         verifyArguments();
     }
     
-    //@Test
+    @Test
     public void testSubPath() throws Exception {
 
         String requestBody = getResourceFileContent("create-unstructured-data-node.xml")