diff --git a/addons/stock/models/res_partner.py b/addons/stock/models/res_partner.py
index e585437e56a..d58e2b1d853 100644
--- a/addons/stock/models/res_partner.py
+++ b/addons/stock/models/res_partner.py
@@ -14,6 +14,6 @@ class Partner(models.Model):
property_stock_supplier = fields.Many2one(
'stock.location', string="Vendor Location", company_dependent=True,
help="This stock location will be used, instead of the default one, as the source location for goods you receive from the current partner")
- picking_warn = fields.Selection(WARNING_MESSAGE, 'Stock Picking', help=WARNING_HELP, default='no-message', required=True)
+ picking_warn = fields.Selection(WARNING_MESSAGE, 'Stock Picking', help=WARNING_HELP, default='no-message')
# TDE FIXME: expand this message / help
picking_warn_msg = fields.Text('Message for Stock Picking')
diff --git a/addons/stock/models/stock_picking.py b/addons/stock/models/stock_picking.py
index cf1e7ba4c02..1ad756900fc 100644
--- a/addons/stock/models/stock_picking.py
+++ b/addons/stock/models/stock_picking.py
@@ -453,7 +453,7 @@ class Picking(models.Model):
self.location_id = location_id
self.location_dest_id = location_dest_id
# TDE CLEANME move into onchange_partner_id
- if self.partner_id:
+ if self.partner_id and self.partner_id.picking_warn:
if self.partner_id.picking_warn == 'no-message' and self.partner_id.parent_id:
partner = self.partner_id.parent_id
elif self.partner_id.picking_warn not in ('no-message', 'block') and self.partner_id.parent_id.picking_warn == 'block':
diff --git a/addons/stock/views/res_partner_views.xml b/addons/stock/views/res_partner_views.xml
index e0b7e4954de..9f9fcac402d 100644
--- a/addons/stock/views/res_partner_views.xml
+++ b/addons/stock/views/res_partner_views.xml
@@ -31,7 +31,7 @@
+ attrs="{'required':[('picking_warn', '!=', False), ('picking_warn','!=','no-message')],'readonly':[('picking_warn','=','no-message')]}"/>