diff --git a/dev/core/src/com/google/gwt/dev/javac/ArtificialRescueChecker.java b/dev/core/src/com/google/gwt/dev/javac/ArtificialRescueChecker.java
index edaaae1..c1ffc49 100644
--- a/dev/core/src/com/google/gwt/dev/javac/ArtificialRescueChecker.java
+++ b/dev/core/src/com/google/gwt/dev/javac/ArtificialRescueChecker.java
@@ -103,6 +103,15 @@
         referencedTypes = Lists.add(referencedTypes, className);
       }
 
+      boolean isArray = false;
+      while (className.endsWith("[]")) {
+        className = className.substring(0, className.length() - 2);
+        if (collectTypes) {
+          referencedTypes = Lists.add(referencedTypes, className);
+        }
+        isArray = true;
+      }
+
       if (!reportErrors) {
         // Nothing else to do
         return;
@@ -110,11 +119,6 @@
 
       // Goal (2)
       // Strip off any array-like extensions and just find base type
-      boolean isArray = false;
-      while (className.endsWith("[]")) {
-        className = className.substring(0, className.length() - 2);
-        isArray = true;
-      }
 
       // Fix JSNI primitive type names to something JDT will understand
       if (isArray && className.length() == 1) {
diff --git a/user/src/com/google/gwt/rpc/rebind/RpcProxyCreator.java b/user/src/com/google/gwt/rpc/rebind/RpcProxyCreator.java
index 5d277be..65dd36d 100644
--- a/user/src/com/google/gwt/rpc/rebind/RpcProxyCreator.java
+++ b/user/src/com/google/gwt/rpc/rebind/RpcProxyCreator.java
@@ -113,6 +113,11 @@
   }
 
   @Override
+  protected void generateStreamWriterOverride(SourceWriter srcWriter) {
+    // Intentional no-op. Called if elideTypeNames is on, which is ignored
+  }
+
+  @Override
   protected void generateTypeHandlers(TreeLogger logger, GeneratorContext ctx,
       SerializableTypeOracle serializationSto,
       SerializableTypeOracle deserializationSto)
diff --git a/user/src/com/google/gwt/rpc/server/CommandServerSerializationStreamReader.java b/user/src/com/google/gwt/rpc/server/CommandServerSerializationStreamReader.java
index 231e0e0..30dc6e0 100644
--- a/user/src/com/google/gwt/rpc/server/CommandServerSerializationStreamReader.java
+++ b/user/src/com/google/gwt/rpc/server/CommandServerSerializationStreamReader.java
@@ -314,7 +314,7 @@
   }
 
   public String readString() throws SerializationException {
-    return readNextCommand(StringValueCommand.class).getValue();
+    return (String) readObject();
   }
 
   private <T extends ValueCommand> T readNextCommand(Class<T> clazz)
