diff --git a/addons/crm/views/crm_lead_views.xml b/addons/crm/views/crm_lead_views.xml
index 6e1cff6387a8724d133c8a3eb4fb16159188530e..18b929853ce95f69e911e4665dd30ac10e72c659 100644
--- a/addons/crm/views/crm_lead_views.xml
+++ b/addons/crm/views/crm_lead_views.xml
@@ -864,7 +864,9 @@
             <field name="binding_view_types">list</field>
             <field name="state">code</field>
             <field name="code">
-if record:
+if not 'opportunity' in records.mapped('type'):
+    records.action_set_lost()
+elif records:
     action_values = env.ref('crm.crm_lead_lost_action').sudo().read()[0]
     action_values.update({'context': env.context})
     action = action_values