diff --git a/vospace-ui-backend/src/main/java/it/inaf/ia2/vospace/ui/controller/JobController.java b/vospace-ui-backend/src/main/java/it/inaf/ia2/vospace/ui/controller/JobController.java
index 1dd0638ca056b788fb998017d83ec17445dff7d0..520c7031c25965ddf4603fd0a2f0f5f74ef5766b 100644
--- a/vospace-ui-backend/src/main/java/it/inaf/ia2/vospace/ui/controller/JobController.java
+++ b/vospace-ui-backend/src/main/java/it/inaf/ia2/vospace/ui/controller/JobController.java
@@ -8,6 +8,7 @@ import java.util.List;
 import java.util.UUID;
 import net.ivoa.xml.uws.v1.ExecutionPhase;
 import net.ivoa.xml.uws.v1.JobSummary;
+import net.ivoa.xml.vospace.v2.Param;
 import net.ivoa.xml.vospace.v2.Protocol;
 import net.ivoa.xml.vospace.v2.StructuredDataNode;
 import net.ivoa.xml.vospace.v2.Transfer;
@@ -58,7 +59,13 @@ public class JobController extends BaseController {
         transfer.setDirection("pullToVoSpace");
         transfer.setTarget(target);
         Protocol protocol = new Protocol();
-        protocol.setUri("ia2:tape-recall");
+
+        Param param = new Param();
+        param.setUri("ia2:node-type");
+        param.setValue(paths.size() == 1 ? "single" : "list");
+        protocol.getParam().add(param);
+
+        protocol.setUri("ia2:async-recall");
         transfer.getProtocols().add(protocol);
 
         JobSummary job = client.startTransferJob(transfer);