diff --git a/dev/core/src/com/google/gwt/core/ext/linker/impl/waitForBodyLoaded.js b/dev/core/src/com/google/gwt/core/ext/linker/impl/waitForBodyLoaded.js
index 4d4c33f..91cf0dc 100644
--- a/dev/core/src/com/google/gwt/core/ext/linker/impl/waitForBodyLoaded.js
+++ b/dev/core/src/com/google/gwt/core/ext/linker/impl/waitForBodyLoaded.js
@@ -13,13 +13,17 @@
 
   // If the page is not already loaded, setup some listeners and timers to
   // detect when it is done.
-  function onBodyDone() {
+  function checkBodyDone() {
     if (!bodyDone) {
+      if (!isBodyLoaded()) {
+        return;
+      }
+
       bodyDone = true;
       callback();
 
       if ($doc.removeEventListener) {
-        $doc.removeEventListener("DOMContentLoaded", onBodyDone, false);
+        $doc.removeEventListener("readystatechange", checkBodyDone, false);
       }
       if (onBodyDoneTimerId) {
         clearInterval(onBodyDoneTimerId);
@@ -27,15 +31,13 @@
     }
   }
 
-  // For everyone that supports DOMContentLoaded.
+  // For everyone that supports readystatechange.
   if ($doc.addEventListener) {
-    $doc.addEventListener("DOMContentLoaded", onBodyDone, false);
+    $doc.addEventListener("readystatechange", checkBodyDone, false);
   }
 
   // Fallback. If onBodyDone() gets fired twice, it's not a big deal.
   var onBodyDoneTimerId = setInterval(function() {
-    if (isBodyLoaded()) {
-      onBodyDone();
-    }
-  }, 50);
+    checkBodyDone();
+  }, 10);
 }
