diff --git a/addons/mail/models/ir_model.py b/addons/mail/models/ir_model.py
index 386ff3760c9c1ff5ed5220f4d65372bbfe4c3e76..243af028cfea1ec2d5c01b41ac756f5e061c4f04 100644
--- a/addons/mail/models/ir_model.py
+++ b/addons/mail/models/ir_model.py
@@ -95,7 +95,13 @@ class IrModel(models.Model):
     @api.model
     def _instanciate(self, model_data):
         model_class = super(IrModel, self)._instanciate(model_data)
-        if model_data.get('is_mail_thread') and model_class._name != 'mail.thread':
+        if model_data.get('is_mail_blacklist') and model_class._name != 'mail.thread.blacklist':
+            parents = model_class._inherit or []
+            parents = [parents] if isinstance(parents, str) else parents
+            model_class._inherit = parents + ['mail.thread.blacklist']
+            if model_class._custom:
+                model_class._primary_email = 'x_email'
+        elif model_data.get('is_mail_thread') and model_class._name != 'mail.thread':
             parents = model_class._inherit or []
             parents = [parents] if isinstance(parents, str) else parents
             model_class._inherit = parents + ['mail.thread']
@@ -103,8 +109,4 @@ class IrModel(models.Model):
             parents = model_class._inherit or []
             parents = [parents] if isinstance(parents, str) else parents
             model_class._inherit = parents + ['mail.activity.mixin']
-        if model_data.get('is_mail_blacklist') and model_class._name != 'mail.thread.blacklist':
-            parents = model_class._inherit or []
-            parents = [parents] if isinstance(parents, str) else parents
-            model_class._inherit = parents + ['mail.thread.blacklist']
         return model_class