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 ec99bfc6c449c08cd38782be14ac7079f88feda9..8b07c73a5768ae27f6343f97ec24508bc4bf03a6 100644
--- a/src/main/java/it/inaf/ia2/transfer/service/ArchiveService.java
+++ b/src/main/java/it/inaf/ia2/transfer/service/ArchiveService.java
@@ -167,15 +167,16 @@ public class ArchiveService {
                 
                 // relPaths is calculated from base node
                 String targetNodeVosPath = fileInfo.getVirtualPath();
-                String vosPath = pointingEntryDescriptors.stream()
+                List<String> linkVosPaths = pointingEntryDescriptors.stream()
                         .filter(ed->ed.getTargetNodeVosPath().equals(targetNodeVosPath))
-                        .findFirst().get().getVosPath();
+                        .map(ed->ed.getVosPath())
+                        .collect(Collectors.toList());
                         
-                
+                for(String vosPath : linkVosPaths) {
                 String relPath = vosPath.substring(commonParent.length());
                 
                 this.insertEntryIntoArchive(fileInfo, supportDir, relPath, tokenPrincipal, portalLocationUrls, servletRequest, handler);
-
+                }
             }
         }
     }