diff --git a/src/main/java/it/inaf/oats/vospace/FileServiceClient.java b/src/main/java/it/inaf/oats/vospace/FileServiceClient.java
index d7f085a41f783e656cd268916bc3656efb7ceaff..ed3bf416d82480def75d3663a7bd2ffbbb1e7af3 100644
--- a/src/main/java/it/inaf/oats/vospace/FileServiceClient.java
+++ b/src/main/java/it/inaf/oats/vospace/FileServiceClient.java
@@ -45,7 +45,8 @@ public class FileServiceClient {
             throw new IllegalArgumentException("Target size is " + transfer.getTarget().size());
         }
 
-        String target = transfer.getTarget().get(0);
+        String target = transfer.getTarget().get(0)
+                .substring("vos://".length() + authority.length());
 
         String viewUri = transfer.getView().getUri();
 
@@ -65,7 +66,7 @@ public class FileServiceClient {
 
         if (vosPaths.isEmpty()) {
             // Add target path
-            vosPaths.add(target.substring("vos://".length() + authority.length()));
+            vosPaths.add(target);
         }
 
         ArchiveRequest archiveRequest = new ArchiveRequest();
@@ -91,7 +92,7 @@ public class FileServiceClient {
         }, new Object[]{});
     }
 
-    private static class ArchiveRequest {
+    public static class ArchiveRequest {
 
         private String type;
         private String jobId;
diff --git a/src/test/java/it/inaf/oats/vospace/FileServiceClientTest.java b/src/test/java/it/inaf/oats/vospace/FileServiceClientTest.java
index ae6af0ad77dd6a8d47fd9a91c6ff6ceb231a7ef9..c5c10183d1c2ca8ae6c90a4b0ca6199cf65da559 100644
--- a/src/test/java/it/inaf/oats/vospace/FileServiceClientTest.java
+++ b/src/test/java/it/inaf/oats/vospace/FileServiceClientTest.java
@@ -5,10 +5,14 @@
  */
 package it.inaf.oats.vospace;
 
+import com.fasterxml.jackson.databind.ObjectMapper;
 import it.inaf.ia2.aa.data.User;
+import it.inaf.oats.vospace.FileServiceClient.ArchiveRequest;
 import it.inaf.oats.vospace.datamodel.Views;
 import it.inaf.oats.vospace.exception.InvalidArgumentException;
 import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.UncheckedIOException;
 import java.net.URI;
 import java.util.Arrays;
 import javax.servlet.http.HttpServletRequest;
@@ -44,6 +48,8 @@ import org.springframework.web.client.RestTemplate;
 @MockitoSettings(strictness = Strictness.LENIENT)
 public class FileServiceClientTest {
 
+    private static final ObjectMapper MAPPER = new ObjectMapper();
+
     @Mock
     private RestTemplate restTemplate;
 
@@ -88,7 +94,10 @@ public class FileServiceClientTest {
         view.setUri(Views.ZIP_VIEW_URI);
         transfer.setView(view);
 
-        testStartArchiveJob(transfer);
+        ArchiveRequest archiveRequest = testStartArchiveJob(transfer);
+
+        assertEquals(1, archiveRequest.getPaths().size());
+        assertEquals("/mydir", archiveRequest.getPaths().get(0));
     }
 
     @Test
@@ -146,20 +155,26 @@ public class FileServiceClientTest {
         param2.setValue("file2");
         view.getParam().add(param2);
 
-        testStartArchiveJob(transfer);
+        ArchiveRequest archiveRequest = testStartArchiveJob(transfer);
+
+        assertEquals(2, archiveRequest.getPaths().size());
+        assertEquals("/parent_dir/file1", archiveRequest.getPaths().get(0));
+        assertEquals("/parent_dir/file2", archiveRequest.getPaths().get(1));
     }
 
-    private void testStartArchiveJob(Transfer transfer) {
+    private ArchiveRequest testStartArchiveJob(Transfer transfer) {
 
         User user = mock(User.class);
         when(user.getAccessToken()).thenReturn("<token>");
         when(request.getUserPrincipal()).thenReturn(user);
 
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+
         doAnswer(invocation -> {
             RequestCallback requestCallback = invocation.getArgument(2);
             ClientHttpRequest mockedRequest = mock(ClientHttpRequest.class);
             HttpHeaders mockedRequestHeaders = mock(HttpHeaders.class);
-            when(mockedRequest.getBody()).thenReturn(new ByteArrayOutputStream());
+            when(mockedRequest.getBody()).thenReturn(baos);
             when(mockedRequest.getHeaders()).thenReturn(mockedRequestHeaders);
             requestCallback.doWithRequest(mockedRequest);
 
@@ -176,5 +191,11 @@ public class FileServiceClientTest {
         String redirect = fileServiceClient.startArchiveJob(transfer, "job123");
 
         assertEquals("http://file-service/archive/result", redirect);
+
+        try {
+            return MAPPER.readValue(baos.toByteArray(), ArchiveRequest.class);
+        } catch (IOException ex) {
+            throw new UncheckedIOException(ex);
+        }
     }
 }