diff --git src/main/com/mongodb/DB.java src/main/com/mongodb/DB.java
index 95fcaad..b5dd520 100644
--- src/main/com/mongodb/DB.java
+++ src/main/com/mongodb/DB.java
@@ -39,19 +39,25 @@ import java.util.concurrent.atomic.AtomicReference;
  * @dochub databases
  */
 public abstract class DB {
-    
+
+    // these command should be lowercased for safe comparison
     private static final Set<String> _obedientCommands = new HashSet<String>();
 
     static {
-        _obedientCommands.add("group");
-        _obedientCommands.add("aggregate");
-        _obedientCommands.add("collStats");
-        _obedientCommands.add("dbStats");
-        _obedientCommands.add("count");
-        _obedientCommands.add("distinct");
-        _obedientCommands.add("geoNear");
-        _obedientCommands.add("geoSearch");
-        _obedientCommands.add("geoWalk");
+        final String[] commands = {
+                "group",
+                "aggregate",
+                "collStats",
+                "dbStats",
+                "count",
+                "distinct",
+                "geoNear",
+                "geoSearch",
+                "geoWalk",
+        };
+        for (final String command : commands) {
+            _obedientCommands.add(command.toLowerCase());
+        }
     }
 
     /**
@@ -101,7 +107,7 @@ public abstract class DB {
             else
                 primaryRequired = true;
         } else {
-           primaryRequired =  !_obedientCommands.contains(comString);
+           primaryRequired =  !_obedientCommands.contains(comString.toLowerCase());
         }
 
         if (primaryRequired) {
