diff --git a/dev/core/test/com/google/gwt/core/ext/typeinfo/ModuleContext.java b/dev/core/test/com/google/gwt/core/ext/typeinfo/ModuleContext.java
index 51ac681..23d9c57 100644
--- a/dev/core/test/com/google/gwt/core/ext/typeinfo/ModuleContext.java
+++ b/dev/core/test/com/google/gwt/core/ext/typeinfo/ModuleContext.java
@@ -20,17 +20,35 @@
 import com.google.gwt.dev.cfg.ModuleDef;
 import com.google.gwt.dev.cfg.ModuleDefLoader;
 
+import java.util.HashMap;
+import java.util.Map;
+
 /**
  * Helper for loading modules from the classpath.
  */
 class ModuleContext {
+  private static final Map<String, TypeOracle> typeOracleMap = new HashMap<String, TypeOracle>();
+
+  private static TypeOracle getTypeOracleFor(TreeLogger logger,
+      String moduleName) throws UnableToCompleteException {
+    TypeOracle oracle;
+    synchronized (typeOracleMap) {
+      oracle = typeOracleMap.get(moduleName);
+      if (oracle == null) {
+        ModuleDef moduleDef = ModuleDefLoader.loadFromClassPath(logger,
+            moduleName);
+        oracle = moduleDef.getCompilationState(logger).getTypeOracle();
+        typeOracleMap.put(moduleName, oracle);
+      }
+    }
+    return oracle;
+  }
+
   private final TypeOracle oracle;
-  private final ModuleDef moduleDef;
 
   ModuleContext(TreeLogger logger, String moduleName)
       throws UnableToCompleteException {
-    moduleDef = ModuleDefLoader.loadFromClassPath(logger, moduleName);
-    oracle = moduleDef.getTypeOracle(logger);
+    this.oracle = getTypeOracleFor(logger, moduleName);
   }
 
   public TypeOracle getOracle() {
diff --git a/dev/core/test/com/google/gwt/core/ext/typeinfo/TypeOracleTest.gwt.xml b/dev/core/test/com/google/gwt/core/ext/typeinfo/TypeOracleTest.gwt.xml
index b417c6a..5617bc0 100644
--- a/dev/core/test/com/google/gwt/core/ext/typeinfo/TypeOracleTest.gwt.xml
+++ b/dev/core/test/com/google/gwt/core/ext/typeinfo/TypeOracleTest.gwt.xml
@@ -14,5 +14,6 @@
 
 <module>
   <inherits name="com.google.gwt.core.Core"/>
+  <inherits name="com.google.gwt.junit.JUnit"/>
   <source path="test"/>
 </module>
