diff --git a/pybis/src/python/pybis/dataset.py b/pybis/src/python/pybis/dataset.py
index d2178be94b331010bbc7de71a9820c29a05077ae..78750bf7ec3bd6ddeea634232ff84e0e2154f7dd 100644
--- a/pybis/src/python/pybis/dataset.py
+++ b/pybis/src/python/pybis/dataset.py
@@ -514,6 +514,7 @@ class DataSetDownloadQueue():
             # request the file in streaming mode
             r = requests.get(url, stream=True, verify=verify_certificates)
             if r.ok == False:
+                self.download_queue.task_done()
                 raise ValueError("Could not download from {}: HTTP {}. Reason: {}".format(url, r.status_code, r.reason))
 
             with open(filename_dest, write_mode) as f:
@@ -525,5 +526,6 @@ class DataSetDownloadQueue():
                 if self.collect_files_with_wrong_length:
                     self.files_with_wrong_length.append(filename)
                 else:
+                    self.download_queue.task_done()
                     raise ValueError("File has the wrong length: {}".format(filename_dest))
             self.download_queue.task_done()