diff --git a/src/coscine/resource.py b/src/coscine/resource.py
index 881a82437000fe67af9cdca948e6e4fdd795da92..2a25d15d7829c0698a2d4eec9e293824693fc152 100644
--- a/src/coscine/resource.py
+++ b/src/coscine/resource.py
@@ -553,7 +553,7 @@ class Resource:
         path = join_paths(path, self.display_name, "")
         if not isdir(path):
             mkdir(path)
-        for file in self.files():
+        for file in self.files(recursive=True):
             file.download(path, True)
 
     def mkdir(self, path: str, metadata: MetadataForm | None = None) -> None: