diff --git a/models/sale_intervention.py b/models/sale_intervention.py
index 363d97fb790df99c71770e6bca95ec23473c343a..b509afc093c6a2b59d0da69c765d9bc263c696a4 100644
--- a/models/sale_intervention.py
+++ b/models/sale_intervention.py
@@ -549,7 +549,9 @@ class SaleIntervention(models.Model):
     @api.onchange("plant_qty", "intervention_length", "mulch_id")
     def _onchange_mulch_id(self):
         self.mulch_has_staples = False
-        if self.mulch_unit == self.env.ref("uom.product_uom_meter"):
+        if self.mulch_unit == self.env.ref(
+            "uom.product_uom_meter"
+        ) or self.much_unit == self.env.ref("uom.product_uom_cubic_meter"):
             self.mulch_qty = self.intervention_length
         elif self.mulch_unit == self.env.ref("uom.product_uom_unit"):
             self.mulch_qty = self.plant_qty
@@ -560,7 +562,9 @@ class SaleIntervention(models.Model):
     @api.onchange("plant_qty", "intervention_length", "mulch2_id")
     def _onchange_mulch2_id(self):
         self.mulch2_has_staples = False
-        if self.mulch2_unit == self.env.ref("uom.product_uom_meter"):
+        if self.mulch_unit == self.env.ref(
+            "uom.product_uom_meter"
+        ) or self.much_unit == self.env.ref("uom.product_uom_cubic_meter"):
             self.mulch2_qty = self.intervention_length
         elif self.mulch2_unit == self.env.ref("uom.product_uom_unit"):
             self.mulch2_qty = self.plant_qty