diff --git a/addons/mrp/models/mrp_workorder.py b/addons/mrp/models/mrp_workorder.py
index 7a1fe23131c6f12501783dccd2c73d70a5603a12..06146fc8bb810082c21a40fe8ad5b7dd54dd136c 100644
--- a/addons/mrp/models/mrp_workorder.py
+++ b/addons/mrp/models/mrp_workorder.py
@@ -593,6 +593,8 @@ class MrpWorkorder(models.Model):
         else:
             if self.date_planned_start > start_date:
                 vals['date_planned_start'] = start_date
+                if self.duration_expected:
+                    vals['date_planned_finished'] = self._calculate_date_planned_finished(start_date)
             if self.date_planned_finished and self.date_planned_finished < start_date:
                 vals['date_planned_finished'] = start_date
             return self.with_context(bypass_duration_calculation=True).write(vals)