diff --git a/user/src/com/google/gwt/junit/JUnitShell.java b/user/src/com/google/gwt/junit/JUnitShell.java
index 080ba4a..59bf1e6 100644
--- a/user/src/com/google/gwt/junit/JUnitShell.java
+++ b/user/src/com/google/gwt/junit/JUnitShell.java
@@ -743,7 +743,11 @@
     }
 
     long currentTimeMillis = System.currentTimeMillis();
-    if (activeClients == numClients) {
+    if (activeClients >= numClients) {
+      if (activeClients > numClients) {
+        getTopLogger().log(TreeLogger.WARN, "Too many clients: expected "
+            + numClients + ", found " + activeClients);
+      }
       firstLaunch = false;
 
       /*
@@ -818,6 +822,17 @@
   }
 
   /**
+   * Set the expected number of clients.
+   * 
+   * <p>Should only be called by RunStyle subtypes.
+   * 
+   * @param numClients
+   */
+  void setNumClients(int numClients) {
+    this.numClients = numClients;
+  }
+
+  /**
    * Finish processing command line arguments.
    */
   private void finalizeArguments() {
diff --git a/user/src/com/google/gwt/junit/RunStyleManual.java b/user/src/com/google/gwt/junit/RunStyleManual.java
index f19a739..29fc6c3 100644
--- a/user/src/com/google/gwt/junit/RunStyleManual.java
+++ b/user/src/com/google/gwt/junit/RunStyleManual.java
@@ -40,6 +40,7 @@
             e);
       }
     }
+    shell.setNumClients(numClients);
     return true;
   }
 
diff --git a/user/src/com/google/gwt/junit/RunStyleRemoteWeb.java b/user/src/com/google/gwt/junit/RunStyleRemoteWeb.java
index 41de9cf..eef9d14 100644
--- a/user/src/com/google/gwt/junit/RunStyleRemoteWeb.java
+++ b/user/src/com/google/gwt/junit/RunStyleRemoteWeb.java
@@ -179,6 +179,7 @@
       }
     });
     int numClients = urls.length;
+    shell.setNumClients(numClients);
     BrowserManager[] browserManagers = new BrowserManager[numClients];
     for (int i = 0; i < numClients; ++i) {
       long callStart = System.currentTimeMillis();
diff --git a/user/src/com/google/gwt/junit/RunStyleSelenium.java b/user/src/com/google/gwt/junit/RunStyleSelenium.java
index 4de5477..f23619a 100644
--- a/user/src/com/google/gwt/junit/RunStyleSelenium.java
+++ b/user/src/com/google/gwt/junit/RunStyleSelenium.java
@@ -108,6 +108,7 @@
     }
 
     this.remotes = targets;
+    shell.setNumClients(targets.length);
 
     // Install a shutdown hook that will close all of our outstanding Selenium
     // sessions.
