diff --git a/master/product/Vifib/VifibMachineAuthenticationPlugin.py b/master/product/Vifib/VifibMachineAuthenticationPlugin.py
index f7358a09906cf0b11aa9a1a570bd7d08d227c428..c16d67f713e4c095cfa520e50a20c4ddaab605a3 100644
--- a/master/product/Vifib/VifibMachineAuthenticationPlugin.py
+++ b/master/product/Vifib/VifibMachineAuthenticationPlugin.py
@@ -80,6 +80,10 @@ def getUserByLogin(portal, login):
   result = portal.portal_catalog.unrestrictedSearchResults(
     query=ComplexQuery(machine_query, person_query, operator="OR"),
     select_expression='reference')
+  result = [x for x in result if \
+    (x.getPortalType() == 'Person' and x.getValidationState() != 'deleted') or \
+    (x.getPortalType() in ("Computer", "Software Instance") and \
+      x.getValidationState() == 'validated')]
   # XXX: Here, we filter catalog result list ALTHOUGH we did pass
   # parameters to unrestrictedSearchResults to restrict result set.
   # This is done because the following values can match person with