diff --git a/odoo/addons/base/res/res_partner.py b/odoo/addons/base/res/res_partner.py
index 2135e462372..8616e7c47bb 100644
--- a/odoo/addons/base/res/res_partner.py
+++ b/odoo/addons/base/res/res_partner.py
@@ -351,6 +351,11 @@ class Partner(models.Model):
result['value'] = {key: convert(self.parent_id[key]) for key in address_fields}
return result
+ @api.onchange('state_id')
+ def onchange_state(self):
+ if self.state_id:
+ self.country_id = self.state_id.country_id
+
@api.onchange('email')
def onchange_email(self):
if not self.image and not self._context.get('yaml_onchange') and self.email:
diff --git a/odoo/addons/base/res/res_partner_view.xml b/odoo/addons/base/res/res_partner_view.xml
index a103767681d..a0f29344e0b 100644
--- a/odoo/addons/base/res/res_partner_view.xml
+++ b/odoo/addons/base/res/res_partner_view.xml
@@ -110,9 +110,7 @@
-
+
@@ -175,9 +173,7 @@
+ attrs="{'readonly': [('type', '=', 'contact'),('parent_id', '!=', False)]}" context="{'country_id': country_id, 'zip': zip}"/>