diff --git a/addons/project/models/project_task_recurrence.py b/addons/project/models/project_task_recurrence.py
index 710870c821afb0a6677ce557243c88ac7a22de2e..b30fc9e5235d8677202728a369a2bbbd9b068bd4 100644
--- a/addons/project/models/project_task_recurrence.py
+++ b/addons/project/models/project_task_recurrence.py
@@ -215,7 +215,7 @@ class ProjectTaskRecurrence(models.Model):
 
     def _create_next_task(self):
         for recurrence in self:
-            task = recurrence.sudo().task_ids[-1]
+            task = max(recurrence.sudo().task_ids, key=lambda t: t.id)
             create_values = recurrence._new_task_values(task)
             new_task = self.env['project.task'].sudo().create(create_values)
             if not new_task.parent_id and task.child_ids: