diff --git a/src/main/java/it/inaf/ia2/transfer/service/ArchiveService.java b/src/main/java/it/inaf/ia2/transfer/service/ArchiveService.java
index 2806595b2dd344916c1afd5b1a5c38d18fca087a..71b24946cd3ca3bdbd2612389a91d382d96c0788 100644
--- a/src/main/java/it/inaf/ia2/transfer/service/ArchiveService.java
+++ b/src/main/java/it/inaf/ia2/transfer/service/ArchiveService.java
@@ -182,7 +182,8 @@ public class ArchiveService {
             } else {
                 StringBuilder newCommonParent = new StringBuilder();
                 boolean same = true;
-                for (int i = 0; same && i < Math.min(commonParent.length(), vosPath.length()); i++) {
+                int lastSlashPos = vosPath.lastIndexOf("/");
+                for (int i = 0; same && i < Math.min(commonParent.length(), vosPath.length()) && i <= lastSlashPos; i++) {
                     if (commonParent.charAt(i) == vosPath.charAt(i)) {
                         newCommonParent.append(commonParent.charAt(i));
                     } else {