diff --git a/addons/stock/i18n/stock.pot b/addons/stock/i18n/stock.pot
index b306a658c1fcb963202692d5e65ad4442e793790..976f94aa4eb33a9a1ed29b9ccb6cee3603a0a693 100644
--- a/addons/stock/i18n/stock.pot
+++ b/addons/stock/i18n/stock.pot
@@ -7685,7 +7685,7 @@ msgstr ""
 #. module: stock
 #: code:addons/stock/models/stock_move.py:0
 #, python-format
-msgid "You cannot split a stock move that has been set to 'Done'."
+msgid "You cannot split a stock move that has been set to 'Done' or 'Cancel'."
 msgstr ""
 
 #. module: stock
diff --git a/addons/stock/models/stock_move.py b/addons/stock/models/stock_move.py
index 52d1910f7ef4d6123b3d9cfc80733adb7c2037df..b83ff8d51b39fdebcf60b17d4bb1c8815d53cede 100644
--- a/addons/stock/models/stock_move.py
+++ b/addons/stock/models/stock_move.py
@@ -1614,7 +1614,7 @@ class StockMove(models.Model):
         :returns: list of dict. stock move values """
         self.ensure_one()
         if self.state in ('done', 'cancel'):
-            raise UserError(_('You cannot split a stock move that has been set to \'Done\'.'))
+            raise UserError(_('You cannot split a stock move that has been set to \'Done\' or \'Cancel\'.'))
         elif self.state == 'draft':
             # we restrict the split of a draft move because if not confirmed yet, it may be replaced by several other moves in
             # case of phantom bom (with mrp module). And we don't want to deal with this complexity by copying the product that will explode.