diff --git a/addons/fleet/models/fleet_vehicle_cost.py b/addons/fleet/models/fleet_vehicle_cost.py
index 266cf94aa6e7036128e02c0de280644f98511845..71a9bb596c3fd35f887e028a4933313797639f46 100644
--- a/addons/fleet/models/fleet_vehicle_cost.py
+++ b/addons/fleet/models/fleet_vehicle_cost.py
@@ -105,9 +105,17 @@ class FleetVehicleLogContract(models.Model):
         delay_alert_contract = int(params.get_param('hr_fleet.delay_alert_contract', default=30))
         date_today = fields.Date.from_string(fields.Date.today())
         outdated_days = fields.Date.to_string(date_today + relativedelta(days=+delay_alert_contract))
-        nearly_expired_contracts = self.search([('state', '=', 'open'), ('expiration_date', '<', outdated_days)])
-
-        for contract in nearly_expired_contracts.filtered(lambda contract: contract.user_id):
+        reminder_activity_type = self.env.ref('fleet.mail_act_fleet_contract_to_renew', raise_if_not_found=False) or self.env['mail.activity.type']
+        nearly_expired_contracts = self.search([
+            ('state', '=', 'open'),
+            ('expiration_date', '<', outdated_days),
+            ('user_id', '!=', False)
+        ]
+        ).filtered(
+            lambda nec: reminder_activity_type not in nec.activity_ids.activity_type_id
+        )
+
+        for contract in nearly_expired_contracts:
             contract.activity_schedule(
                 'fleet.mail_act_fleet_contract_to_renew', contract.expiration_date,
                 user_id=contract.user_id.id)