diff --git a/transfer_service/retrieve_executor.py b/transfer_service/retrieve_executor.py
index 3bc43c61be5a2039cbb2108b3f32a73824c5eb30..c009ec8a178f59c4e6bb9631004390f2edcb3472 100644
--- a/transfer_service/retrieve_executor.py
+++ b/transfer_service/retrieve_executor.py
@@ -456,16 +456,19 @@ class RetrieveExecutor(TaskExecutor):
         self.numBlocks = 0
         self.procBlocks = 0
         self.totalSize = 0
-        urlListFilePath = os.path.join(self.resDir, self.urlListFileName)
-        try:
-            os.remove(urlListFilePath)
-        except OSError:
-            self.logger.exception(f"FATAL: unable to remove {self.urlListFileName}")
-        try:
-            os.remove(urlListFilePath + ".tar.gz")
-        except OSError:
-            self.logger.exception(f"FATAL: unable to remove {self.urlListFileName}.tar.gz")
-        self.urlListFileName = None
+        
+        # If an error occurs, the variable is None: just ignore it (the URL list is not generated)
+        if self.urlListFileName is not None:
+            urlListFilePath = os.path.join(self.resDir, self.urlListFileName)
+            try:
+                os.remove(urlListFilePath)
+            except OSError:
+                self.logger.exception(f"FATAL: unable to remove {self.urlListFileName}")
+            try:
+                os.remove(urlListFilePath + ".tar.gz")
+            except OSError:
+                self.logger.exception(f"FATAL: unable to remove {self.urlListFileName}.tar.gz")
+            self.urlListFileName = None
 
     def run(self):
         self.logger.info("Starting retrieve executor...")