diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/HibernateSearchDAO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/HibernateSearchDAO.java
index ee2cc96e76537eb7678465b9c4c2462d67f74285..9f9ca6641389ba329d229b88cd25b16300d29479 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/HibernateSearchDAO.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/HibernateSearchDAO.java
@@ -377,7 +377,7 @@ final class HibernateSearchDAO extends HibernateDaoSupport implements IHibernate
 
                             if (useWildcardSearchMode)
                             {
-                                Pattern pattern = Pattern.compile("(?s)" + q.toLowerCase().replace("*", ".*").replace("?", ".?"));
+                                Pattern pattern = Pattern.compile("(?s)(^|\\s)" + q.toLowerCase().replace("*", ".*").replace("?", ".?") + "($|\\s)");
                                 Matcher matcher = pattern.matcher(content[i].toLowerCase());
 
                                 while (matcher.find())
@@ -488,7 +488,7 @@ final class HibernateSearchDAO extends HibernateDaoSupport implements IHibernate
                     boolean fullmatch = (start == 0 || !StringUtils.isAlphanumeric(text.substring(start - 1, start))) &&
                             (end == text.length() || !StringUtils.isAlphanumeric(text.substring(end, end + 1))) &&
                             !wildcard; // full/partial matching not relevant for wildcard mode
-                    if (field.equals("Perm ID") || field.equals("Identifier") || field.equals("Code"))
+                    if (field.equals("Perm ID") || field.equals("Code"))
                     {
                         if (fullmatch)
                         {