diff --git a/odoo/addons/base/models/res_users.py b/odoo/addons/base/models/res_users.py
index 9b349866b6a52a52b07e82ddbe032f85981fde0c..d46b22489bf08a775d33d522d3441808cc6c3341 100644
--- a/odoo/addons/base/models/res_users.py
+++ b/odoo/addons/base/models/res_users.py
@@ -538,7 +538,10 @@ class Users(models.Model):
         if operator == 'ilike' and not (name or '').strip():
             domain = []
         else:
-            domain = [('login', '=', name)]
+            if operator not in expression.NEGATIVE_TERM_OPERATORS:
+                domain = [('login', '=', name)]
+            else:
+                domain = [('login', '!=', name)]
         user_ids = self._search(expression.AND([domain, args]), limit=limit, access_rights_uid=name_get_uid)
         if not user_ids:
             user_ids = self._search(expression.AND([[('name', operator, name)], args]), limit=limit, access_rights_uid=name_get_uid)