diff --git a/addons/product_expiry/product_expiry.py b/addons/product_expiry/product_expiry.py
index d24640f85edc25a018d81dcf21c7f99d8bd260a8..104b938c67c6b33707ddbc0edbe52592988ed2a7 100644
--- a/addons/product_expiry/product_expiry.py
+++ b/addons/product_expiry/product_expiry.py
@@ -58,7 +58,7 @@ class stock_production_lot(osv.osv):
     # Assign dates according to products data
     def create(self, cr, uid, vals, context=None):
         context = dict(context or {})
-        context['product_id'] = vals.get('product_id', context.get('default_product_id'))
+        context['product_id'] = vals.get('product_id', context.get('default_product_id') or context.get('product_id'))
         return super(stock_production_lot, self).create(cr, uid, vals, context=context)
 
     _defaults = {