diff --git a/dev/core/src/com/google/gwt/dev/jjs/InternalCompilerException.java b/dev/core/src/com/google/gwt/dev/jjs/InternalCompilerException.java
index e97957b..5e36ba3 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/InternalCompilerException.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/InternalCompilerException.java
@@ -30,11 +30,15 @@
    */
   public static final class NodeInfo {
 
+    static void preload() {
+      // Initialize this class on static invocation.
+    }
+
     private final String className;
     private final String description;
     private final SourceInfo sourceInfo;
 
-    private NodeInfo(String className, String description, SourceInfo sourceInfo) {
+    NodeInfo(String className, String description, SourceInfo sourceInfo) {
       this.className = className;
       this.description = description;
       this.sourceInfo = sourceInfo;
@@ -73,7 +77,9 @@
    * memory or out of stack conditions.
    */
   public static void preload() {
-    // Nothing to do, JVM will initialize this class on static invocation.
+    // Initialize this class on static invocation.
+    NodeInfo.preload();
+    pendingICE.set(pendingICE.get());
   }
 
   private final List<NodeInfo> nodeTrace = new ArrayList<NodeInfo>();
diff --git a/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java b/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java
index 7eb3148..62327ac 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java
@@ -213,6 +213,7 @@
   public static PermutationResult compilePermutation(TreeLogger logger,
       UnifiedAst unifiedAst, Permutation permutation)
       throws UnableToCompleteException {
+    InternalCompilerException.preload();
     PropertyOracle[] propertyOracles = permutation.getPropertyOracles();
     int permutationId = permutation.getId();
     Map<String, String> rebindAnswers = permutation.getRebindAnswers();
