diff --git a/scheduler/ArchiveToFileRequest.cpp b/scheduler/ArchiveToFileRequest.cpp
index a178a0fa6cbb6bab4abf090e04dc856bb467963a..c32bb41469f6dfc95c476ce904b8db49a8b8523a 100644
--- a/scheduler/ArchiveToFileRequest.cpp
+++ b/scheduler/ArchiveToFileRequest.cpp
@@ -36,13 +36,15 @@ cta::ArchiveToFileRequest::~ArchiveToFileRequest() throw() {
 cta::ArchiveToFileRequest::ArchiveToFileRequest(
   const std::string &remoteFile,
   const std::string &archiveFile,
+  const uint64_t size,
   const std::map<uint16_t, std::string> &copyNbToPoolMap,
   const uint64_t priority,
   const CreationLog & creationLog):
   ArchiveRequest(priority, creationLog),
   m_remoteFile(remoteFile),
   m_archiveFile(archiveFile),
-  m_copyNbToPoolMap(copyNbToPoolMap) {
+  m_copyNbToPoolMap(copyNbToPoolMap),
+  m_size(size) {
 }
 
 //------------------------------------------------------------------------------
diff --git a/scheduler/ArchiveToFileRequest.hpp b/scheduler/ArchiveToFileRequest.hpp
index f88762bc42637aa80b24ae459e860dd7afd47919..690ca09fc2dbfd066bc8a105cfe273516720d79f 100644
--- a/scheduler/ArchiveToFileRequest.hpp
+++ b/scheduler/ArchiveToFileRequest.hpp
@@ -59,6 +59,7 @@ public:
   ArchiveToFileRequest(
     const std::string &remoteFile,
     const std::string &archiveFile,
+    const uint64_t size,
     const std::map<uint16_t, std::string> &copyNbToPoolMap,
     const uint64_t priority,
     const CreationLog & creationLog);
@@ -101,6 +102,11 @@ private:
    */
   std::map<uint16_t, std::string> m_copyNbToPoolMap;
 
+  /**
+   * The size of the file.
+   */
+  uint64_t m_size;
+  
 }; // class ArchiveToFileRequest
 
 } // namespace cta
diff --git a/scheduler/OStoreDB/OStoreDB.cpp b/scheduler/OStoreDB/OStoreDB.cpp
index 1dcf24f11ea3caa66311201322717d1b0bce82b3..611021f5a32d7ec5d39121bccb849916aa673a14 100644
--- a/scheduler/OStoreDB/OStoreDB.cpp
+++ b/scheduler/OStoreDB/OStoreDB.cpp
@@ -415,11 +415,15 @@ void OStoreDB::queue(const cta::ArchiveToFileRequest& rqst) {
   ScopedSharedLock rel(re);
   re.fetch();
   auto & cl = rqst.getCopyNbToPoolMap();
+  std::list<cta::objectstore::ArchiveToFileRequest::JobDump> jl;
   for (auto copy=cl.begin(); copy != cl.end(); copy++) {
     std::string tpaddr = re.getTapePoolAddress(copy->second);
     atfr.addJob(copy->first, copy->second, tpaddr);
+    jl.push_back(cta::objectstore::ArchiveToFileRequest::JobDump());
+    jl.back().copyNb = copy->first;
+    jl.back().tapePool = copy->second;
+    jl.back().tapePoolAddress = tpaddr;
   }
-  auto jl = atfr.dumpJobs();
   if (!jl.size()) {
     throw ArchiveRequestHasNoCopies("In OStoreDB::queue: the archive to file request has no copy");
   }
diff --git a/scheduler/Scheduler.cpp b/scheduler/Scheduler.cpp
index 4d337a215db7260fe510712fc75d897f98ce3fe4..f2cd8faf4621a85d04e8a3f8869ea64fa64c7e62 100644
--- a/scheduler/Scheduler.cpp
+++ b/scheduler/Scheduler.cpp
@@ -620,11 +620,13 @@ cta::ArchiveToFileRequest cta::Scheduler::createArchiveToFileRequest(
   assertStorageClassHasAtLeastOneCopy(storageClass);
   const auto routes = m_db.getArchivalRoutes(storageClassName);
   const auto copyNbToPoolMap = createCopyNbToPoolMap(routes);
+  const auto fileInfo = m_remoteNS.statFile(remoteFile);
 
   const CreationLog log(requester.getUser(), requester.getHost(), time(NULL), "");
   return ArchiveToFileRequest(
     remoteFile,
     archiveFile,
+    fileInfo.getSize(),
     copyNbToPoolMap,
     priority,
     log);
diff --git a/scheduler/Scheduler.hpp b/scheduler/Scheduler.hpp
index d64d81d28638c6701a35312957242936a32510ca..552492eb8fa86498f9783296fa85fc1a22f31635 100644
--- a/scheduler/Scheduler.hpp
+++ b/scheduler/Scheduler.hpp
@@ -614,7 +614,7 @@ private:
    * The name space of the remote storage system.
    */
   RemoteNS &m_remoteNS;
-
+  
   /**
    * Queues the specified request to archive one or more remote files to an
    * archive directory.
@@ -642,7 +642,7 @@ private:
    */
   void assertStorageClassHasAtLeastOneCopy(
     const StorageClass &storageClass) const;
-
+  
   /**
    * Returns the list of ArchiveToFileRequest objects representing the specified
    * request to archive multiple files to an archive directory.