diff --git a/addons/sale/sale.py b/addons/sale/sale.py
index fa4b02cb1ce..b604103f344 100644
--- a/addons/sale/sale.py
+++ b/addons/sale/sale.py
@@ -758,7 +758,7 @@ class sale_order(osv.osv):
for o in self.browse(cr, uid, ids):
if not o.order_line:
raise osv.except_osv(_('Error!'),_('You cannot confirm a sale order which has no line.'))
- if (o.order_policy == 'manual'):
+ if (o.order_policy == 'manual' or self.test_no_product(cr, uid, [o.id])):
self.write(cr, uid, [o.id], {'state': 'manual', 'date_confirm': fields.date.context_today(self, cr, uid, context=context)})
else:
self.write(cr, uid, [o.id], {'state': 'progress', 'date_confirm': fields.date.context_today(self, cr, uid, context=context)})
diff --git a/addons/sale/sale_workflow.xml b/addons/sale/sale_workflow.xml
index 48e299c8314..c5b34c0642f 100644
--- a/addons/sale/sale_workflow.xml
+++ b/addons/sale/sale_workflow.xml
@@ -196,7 +196,7 @@
- (order_policy=='prepaid') or test_no_product()
+ order_policy=='prepaid'