diff --git a/user/src/com/google/gwt/jsonp/client/JsonpRequest.java b/user/src/com/google/gwt/jsonp/client/JsonpRequest.java
index 62b2b38..43699ec 100644
--- a/user/src/com/google/gwt/jsonp/client/JsonpRequest.java
+++ b/user/src/com/google/gwt/jsonp/client/JsonpRequest.java
@@ -52,9 +52,9 @@
     return $wnd[name] = new Object();
   }-*/;
   
-  private static native Node getDocumentElement() /*-{
-    return $doc.documentElement;
-  }-*/;
+  private static Node getHeadElement() {
+    return Document.get().getElementsByTagName("head").getItem(0);
+  }
   
   private static String nextCallbackId() {
     return "I" + (callbackCounter++);
@@ -142,7 +142,7 @@
     script.setType("text/javascript");
     script.setId(callbackId);
     script.setSrc(uri.toString());
-    getDocumentElement().getFirstChild().appendChild(script);
+    getHeadElement().appendChild(script);
     timer = new Timer() {
       @Override
       public void run() {
@@ -225,7 +225,7 @@
       public void execute() {
         unregisterCallbacks(CALLBACKS);
         Node script = Document.get().getElementById(callbackId);
-        getDocumentElement().getFirstChild().removeChild(script);
+        getHeadElement().removeChild(script);
       }
     });
   }
