diff --git a/addons/crm/tests/test_crm_lead.py b/addons/crm/tests/test_crm_lead.py
index 54df5adf79f1d0b998dcb2d37aa49c5dc4cb6a4e..b1c2716674f60c9084f5757efeda5ee3c3709f45 100644
--- a/addons/crm/tests/test_crm_lead.py
+++ b/addons/crm/tests/test_crm_lead.py
@@ -408,6 +408,12 @@ class TestCRMLead(TestCrmCommon):
         self.assertEqual(lead.mobile, self.test_phone_data[2])
         self.assertEqual(lead.phone_sanitized, self.test_phone_data_sanitized[2])
 
+        # updating country should trigger sanitize computation
+        lead.write({'country_id': self.env.ref('base.be').id})
+        self.assertEqual(lead.phone, self.test_phone_data[1])
+        self.assertEqual(lead.mobile, self.test_phone_data[2])
+        self.assertFalse(lead.phone_sanitized)
+
     @users('user_sales_manager')
     def test_phone_mobile_search(self):
         lead_1 = self.env['crm.lead'].create({
diff --git a/addons/phone_validation/models/mail_thread_phone.py b/addons/phone_validation/models/mail_thread_phone.py
index 7eacb84d5c6e2d2be04075517446248c0ebf1af1..f81da543678af82e6d7655cf88cffbb2a0f35511 100644
--- a/addons/phone_validation/models/mail_thread_phone.py
+++ b/addons/phone_validation/models/mail_thread_phone.py
@@ -43,7 +43,7 @@ class PhoneMixin(models.AbstractModel):
         help="Indicates if a blacklisted sanitized phone number is a mobile number. Helps distinguish which number is blacklisted \
             when there is both a mobile and phone field in a model.")
 
-    @api.depends(lambda self: self._phone_get_number_fields())
+    @api.depends(lambda self: self._phone_get_sanitize_triggers())
     def _compute_phone_sanitized(self):
         self._assert_phone_field()
         number_fields = self._phone_get_number_fields()
@@ -113,6 +113,11 @@ class PhoneMixin(models.AbstractModel):
         if not any(fname in self and self._fields[fname].type == 'char' for fname in self._phone_get_number_fields()):
             raise UserError(_('Invalid primary phone field on model %s', self._name))
 
+    def _phone_get_sanitize_triggers(self):
+        """ Tool method to get all triggers for sanitize """
+        res = [self._phone_get_country_field()] if self._phone_get_country_field() else []
+        return res + self._phone_get_number_fields()
+
     def _phone_get_number_fields(self):
         """ This method returns the fields to use to find the number to use to
         send an SMS on a record. """