diff --git a/src/main/java/com/google/gerrit/server/ldap/LdapQuery.java b/src/main/java/com/google/gerrit/server/ldap/LdapQuery.java
index b0eb938..d99d67e 100644
--- a/src/main/java/com/google/gerrit/server/ldap/LdapQuery.java
+++ b/src/main/java/com/google/gerrit/server/ldap/LdapQuery.java
@@ -29,35 +29,6 @@
 
 /** Supports issuing parameterized queries against an LDAP data source. */
 class LdapQuery {
-  static enum SearchScope {
-    // Search only the base DN
-    //
-    OBJECT(SearchControls.OBJECT_SCOPE), //
-    BASE(SearchControls.OBJECT_SCOPE),
-
-    // Search all entries one level under the base DN
-    //
-    // Does not include the base DN, and does not include items below items
-    // under the base DN.
-    //
-    ONE(SearchControls.ONELEVEL_SCOPE),
-
-    // Search all entries under the base DN, including the base DN.
-    //
-    SUBTREE(SearchControls.SUBTREE_SCOPE), //
-    SUB(SearchControls.SUBTREE_SCOPE);
-
-    private final int scope;
-
-    SearchScope(final int scope) {
-      this.scope = scope;
-    }
-
-    int scope() {
-      return scope;
-    }
-  }
-
   private final String base;
   private final SearchScope searchScope;
   private final String pattern;
diff --git a/src/main/java/com/google/gerrit/server/ldap/LdapRealm.java b/src/main/java/com/google/gerrit/server/ldap/LdapRealm.java
index e127cd1..d8d26df 100644
--- a/src/main/java/com/google/gerrit/server/ldap/LdapRealm.java
+++ b/src/main/java/com/google/gerrit/server/ldap/LdapRealm.java
@@ -28,7 +28,6 @@
 import com.google.gerrit.server.cache.SelfPopulatingCache;
 import com.google.gerrit.server.config.ConfigUtil;
 import com.google.gerrit.server.config.GerritServerConfig;
-import com.google.gerrit.server.ldap.LdapQuery.SearchScope;
 import com.google.gwtorm.client.OrmException;
 import com.google.gwtorm.client.SchemaFactory;
 import com.google.inject.Inject;
diff --git a/src/main/java/com/google/gerrit/server/ldap/SearchScope.java b/src/main/java/com/google/gerrit/server/ldap/SearchScope.java
new file mode 100644
index 0000000..dcc6089
--- /dev/null
+++ b/src/main/java/com/google/gerrit/server/ldap/SearchScope.java
@@ -0,0 +1,46 @@
+// Copyright (C) 2009 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package com.google.gerrit.server.ldap;
+
+import javax.naming.directory.SearchControls;
+
+public enum SearchScope {
+  // Search only the base DN
+  //
+  OBJECT(SearchControls.OBJECT_SCOPE), //
+  BASE(SearchControls.OBJECT_SCOPE),
+
+  // Search all entries one level under the base DN
+  //
+  // Does not include the base DN, and does not include items below items
+  // under the base DN.
+  //
+  ONE(SearchControls.ONELEVEL_SCOPE),
+
+  // Search all entries under the base DN, including the base DN.
+  //
+  SUBTREE(SearchControls.SUBTREE_SCOPE), //
+  SUB(SearchControls.SUBTREE_SCOPE);
+
+  private final int scope;
+
+  SearchScope(final int scope) {
+    this.scope = scope;
+  }
+
+  int scope() {
+    return scope;
+  }
+}
