diff --git a/user/src/com/google/gwt/user/client/rpc/impl/RemoteServiceProxy.java b/user/src/com/google/gwt/user/client/rpc/impl/RemoteServiceProxy.java
index cdcbc7b..acaa75f 100644
--- a/user/src/com/google/gwt/user/client/rpc/impl/RemoteServiceProxy.java
+++ b/user/src/com/google/gwt/user/client/rpc/impl/RemoteServiceProxy.java
@@ -79,10 +79,6 @@
     return requestId++;
   }
 
-  protected static int getRequestId() {
-    return requestId;
-  }
-
   /**
    * Return <code>true</code> if the encoded response contains a value
    * returned by the method invocation.
diff --git a/user/src/com/google/gwt/user/rebind/rpc/ProxyCreator.java b/user/src/com/google/gwt/user/rebind/rpc/ProxyCreator.java
index 25fe79c..627f774 100644
--- a/user/src/com/google/gwt/user/rebind/rpc/ProxyCreator.java
+++ b/user/src/com/google/gwt/user/rebind/rpc/ProxyCreator.java
@@ -401,7 +401,8 @@
     String statsMethodExpr = getProxySimpleName() + "." + syncMethod.getName();
     String tossName = nameFactory.createName("toss");
     w.println("boolean " + tossName + " = isStatsAvailable() && stats("
-        + "timeStat(\"" + statsMethodExpr + "\", getRequestId(), \"begin\"));");
+        + "timeStat(\"" + statsMethodExpr + "\", " + requestIdName
+        + ", \"begin\"));");
 
     w.print(ClientSerializationStreamWriter.class.getSimpleName());
     w.print(" ");
@@ -464,7 +465,8 @@
         + ".toString();");
 
     w.println(tossName + " = isStatsAvailable() && stats(" + "timeStat(\""
-        + statsMethodExpr + "\", getRequestId(), \"requestSerialized\"));");
+        + statsMethodExpr + "\", " + requestIdName
+        + ", \"requestSerialized\"));");
 
     /*
      * Depending on the return type for the async method, return a
@@ -487,7 +489,8 @@
     JType returnType = syncMethod.getReturnType();
     w.print("ResponseReader." + getResponseReaderFor(returnType).name());
     w.println(", \"" + getProxySimpleName() + "." + syncMethod.getName()
-        + "\", getRequestId(), " + payloadName + ", " + callbackName + ");");
+        + "\", " + requestIdName + ", " + payloadName + ", " + callbackName
+        + ");");
     w.outdent();
     w.println("}");
   }
