diff --git a/user/src/com/google/gwt/junit/CompileStrategy.java b/user/src/com/google/gwt/junit/CompileStrategy.java
index e1db74d..48b2518 100644
--- a/user/src/com/google/gwt/junit/CompileStrategy.java
+++ b/user/src/com/google/gwt/junit/CompileStrategy.java
@@ -302,10 +302,12 @@
       for (String moduleName : GWTTestCase.getAllTestModuleNames()) {
         TestModuleInfo moduleInfo = GWTTestCase.getTestsForModule(moduleName);
         String syntheticModuleName = moduleInfo.getSyntheticModuleName();
-        ModuleDef moduleDef = maybeCompileModuleImpl(
-            moduleInfo.getModuleName(), syntheticModuleName,
-            moduleInfo.getStrategy(), batchingStrategy, treeLogger);
-        preCompiledModuleDefs.put(syntheticModuleName, moduleDef);
+        if (syntheticModuleName != null) {
+          ModuleDef moduleDef = maybeCompileModuleImpl(
+              moduleInfo.getModuleName(), syntheticModuleName,
+              moduleInfo.getStrategy(), batchingStrategy, treeLogger);
+          preCompiledModuleDefs.put(syntheticModuleName, moduleDef);
+        }
       }
     }
   }
