diff --git a/src/coscine/project.py b/src/coscine/project.py
index b8e2ac50951ee011637a42ec15b760c2a340cdd5..8d56f08c1aa9e24d24df4e46b9092250907bfe12 100644
--- a/src/coscine/project.py
+++ b/src/coscine/project.py
@@ -649,9 +649,12 @@ class Project:
     def subprojects(self) -> list[Project]:
         """
         """
+        if not "subProjects" in self._data:
+            project = self.client.project(self.id, Project.id)
+            self._data = project._data
         return [
             Project(self.client, data)
-            for data in self._data["subProjects"]
+            for data in self._data.get("subProjects", [])
         ]
 
     def subproject(