diff --git a/src/main/java/org/codelibs/fess/helper/SystemHelper.java b/src/main/java/org/codelibs/fess/helper/SystemHelper.java
index 94e852bf48ff73409451a76692089071e78b73fd..9ee257166dc138006f615eafcde78eea2b1a0c93 100644
--- a/src/main/java/org/codelibs/fess/helper/SystemHelper.java
+++ b/src/main/java/org/codelibs/fess/helper/SystemHelper.java
@@ -376,7 +376,11 @@ public class SystemHelper {
     }
 
     protected String createSearchRole(final String type, final String name) {
-        return type + name;
+        final String value = type + ComponentUtil.getFessConfig().getCanonicalLdapName(name);
+        if (logger.isDebugEnabled()) {
+            logger.debug("Search Role: " + type + ":" + name + "=" + value);
+        }
+        return value;
     }
 
     public void reloadConfiguration() {
diff --git a/src/main/java/org/codelibs/fess/ldap/LdapManager.java b/src/main/java/org/codelibs/fess/ldap/LdapManager.java
index 3b0a46ebd13d651948ad8ccff6ce0d413f38f5af..029d592922123dc6af1458a793dd74392e4c3305 100644
--- a/src/main/java/org/codelibs/fess/ldap/LdapManager.java
+++ b/src/main/java/org/codelibs/fess/ldap/LdapManager.java
@@ -240,17 +240,11 @@ public class LdapManager {
         start += 3;
 
         int end = entryDn.indexOf(',', start);
-        String name;
         if (end == -1) {
-            name = entryDn.substring(start);
+            return entryDn.substring(start);
         } else {
-            name = entryDn.substring(start, end);
+            return entryDn.substring(start, end);
         }
-        name = fessConfig.getCanonicalLdapName(name);
-        if (logger.isDebugEnabled()) {
-            logger.debug("name: " + name);
-        }
-        return name;
     }
 
     protected void setAttributeValue(final List<SearchResult> result, final String name, final Consumer<Object> consumer) {
diff --git a/src/test/java/org/codelibs/fess/helper/PermissionHelperTest.java b/src/test/java/org/codelibs/fess/helper/PermissionHelperTest.java
index 53ecc8d697c1d75677bee9bdf8247a975f0ce57f..6a07dd9be8fa4f75609330e1dac328a3ad7b676b 100644
--- a/src/test/java/org/codelibs/fess/helper/PermissionHelperTest.java
+++ b/src/test/java/org/codelibs/fess/helper/PermissionHelperTest.java
@@ -65,6 +65,11 @@ public class PermissionHelperTest extends UnitFessTestCase {
             public String getRoleSearchRolePrefix() {
                 return "";
             }
+
+            @Override
+            public boolean isLdapIgnoreNetbiosName() {
+                return true;
+            }
         });
         try {
             assertEquals("guest", permissionHelper.encode("{role}guest"));
diff --git a/src/test/java/org/codelibs/fess/helper/SystemHelperTest.java b/src/test/java/org/codelibs/fess/helper/SystemHelperTest.java
index afbbf7ec797eded502fec6c2a2dc11c7446523cd..c6d011d2539b96f0ee05e226eb173a5c298049bb 100644
--- a/src/test/java/org/codelibs/fess/helper/SystemHelperTest.java
+++ b/src/test/java/org/codelibs/fess/helper/SystemHelperTest.java
@@ -15,7 +15,9 @@
  */
 package org.codelibs.fess.helper;
 
+import org.codelibs.fess.mylasta.direction.FessConfig;
 import org.codelibs.fess.unit.UnitFessTestCase;
+import org.codelibs.fess.util.ComponentUtil;
 
 public class SystemHelperTest extends UnitFessTestCase {
 
@@ -87,4 +89,19 @@ public class SystemHelperTest extends UnitFessTestCase {
         assertEquals("zh_TW", systemHelper.normalizeLang(value));
     }
 
+    public void test_createSearchRole() {
+        ComponentUtil.setFessConfig(new FessConfig.SimpleImpl() {
+            private static final long serialVersionUID = 1L;
+
+            public boolean isLdapIgnoreNetbiosName() {
+                return true;
+            }
+        });
+
+        assertEquals("", systemHelper.createSearchRole("", ""));
+        assertEquals("aaa", systemHelper.createSearchRole("", "aaa"));
+        assertEquals("bbb", systemHelper.createSearchRole("", "aaa\\bbb"));
+        assertEquals("bbb\\ccc", systemHelper.createSearchRole("", "aaa\\bbb\\ccc"));
+    }
+
 }
diff --git a/src/test/java/org/codelibs/fess/ldap/LdapManagerTest.java b/src/test/java/org/codelibs/fess/ldap/LdapManagerTest.java
index 61a927aa0c7d72216fe182926469a0be51aa3bf5..189f5a37ed44605a1a0ddbaf4ceb57389b0c2451 100644
--- a/src/test/java/org/codelibs/fess/ldap/LdapManagerTest.java
+++ b/src/test/java/org/codelibs/fess/ldap/LdapManagerTest.java
@@ -34,10 +34,10 @@ public class LdapManagerTest extends UnitFessTestCase {
         assertEquals("aaa", ldapManager.getSearchRoleName("cn=aaa"));
         assertEquals("aaa", ldapManager.getSearchRoleName("CN=aaa"));
         assertEquals("aaa", ldapManager.getSearchRoleName("cn=aaa,du=test"));
-        assertEquals("bbb", ldapManager.getSearchRoleName("cn=aaa\\bbb"));
-        assertEquals("bbb", ldapManager.getSearchRoleName("cn=aaa\\bbb,du=test"));
-        assertEquals("bbb\\ccc", ldapManager.getSearchRoleName("cn=aaa\\bbb\\ccc"));
-        assertEquals("bbb\\ccc", ldapManager.getSearchRoleName("cn=aaa\\bbb\\ccc,du=test\""));
+        assertEquals("aaa\\bbb", ldapManager.getSearchRoleName("cn=aaa\\bbb"));
+        assertEquals("aaa\\bbb", ldapManager.getSearchRoleName("cn=aaa\\bbb,du=test"));
+        assertEquals("aaa\\bbb\\ccc", ldapManager.getSearchRoleName("cn=aaa\\bbb\\ccc"));
+        assertEquals("aaa\\bbb\\ccc", ldapManager.getSearchRoleName("cn=aaa\\bbb\\ccc,du=test\""));
 
         assertNull(ldapManager.getSearchRoleName(null));
         assertNull(ldapManager.getSearchRoleName(""));