diff --git a/user/test/com/google/gwt/dev/shell/rewrite/client/EmmaClassLoadingTest.java b/user/test/com/google/gwt/dev/shell/rewrite/client/EmmaClassLoadingTest.java
index 352c676..3cfd697 100644
--- a/user/test/com/google/gwt/dev/shell/rewrite/client/EmmaClassLoadingTest.java
+++ b/user/test/com/google/gwt/dev/shell/rewrite/client/EmmaClassLoadingTest.java
@@ -151,6 +151,7 @@
   private void test1() {
     if (false) {
       class Foo {
+        @SuppressWarnings("jsni")
         public native void foo() /*-{
           @com.google.gwt.dev.shell.rewrite.client.FourthTopLevelClass::log(Ljava/lang/String;)("ANY_FOO");
         }-*/;
@@ -161,6 +162,7 @@
 
   private void test2() {
     class Foo {
+      @SuppressWarnings("jsni")
       public native void foo() /*-{
         @com.google.gwt.dev.shell.rewrite.client.FourthTopLevelClass::log(Ljava/lang/String;)("4a foo");
       }-*/;
@@ -175,6 +177,7 @@
   @SuppressWarnings("unused")
   private void test3() {
     class Foo {
+      @SuppressWarnings("jsni")
       public native void foo() /*-{
         @com.google.gwt.dev.shell.rewrite.client.FourthTopLevelClass::log(Ljava/lang/String;)("4b foo");
       }-*/;
@@ -205,6 +208,7 @@
       a.foo();
 
       EmmaClassLoadingTest.TestInterface b = new EmmaClassLoadingTest.TestInterface() {
+        @SuppressWarnings("jsni")
         public native void foo() /*-{
           @com.google.gwt.dev.shell.rewrite.client.SecondTopLevelClass::log(Ljava/lang/String;)("2b foo");
         }-*/;
@@ -213,6 +217,7 @@
 
       if (false) {
         EmmaClassLoadingTest.TestInterface c = new EmmaClassLoadingTest.TestInterface() {
+          @SuppressWarnings("jsni")
           public native void foo() /*-{
             @com.google.gwt.dev.shell.rewrite.client.SecondTopLevelClass::log(Ljava/lang/String;)("ANY_FOO_1");
           }-*/;
@@ -232,6 +237,7 @@
       }
 
       EmmaClassLoadingTest.TestInterface d = new EmmaClassLoadingTest.TestInterface() {
+        @SuppressWarnings("jsni")
         public native void foo() /*-{
           @com.google.gwt.dev.shell.rewrite.client.SecondTopLevelClass::log(Ljava/lang/String;)("2d foo");
         }-*/;
@@ -246,6 +252,7 @@
        * to fail.
        */
       EmmaClassLoadingTest.TestInterface e = new EmmaClassLoadingTest.TestInterface() {
+        @SuppressWarnings("jsni")
         public native void foo() /*-{
           @com.google.gwt.dev.shell.rewrite.client.SecondTopLevelClass::log(Ljava/lang/String;)("2e foo");
         }-*/;
@@ -281,6 +288,7 @@
 
   void test() {
     EmmaClassLoadingTest.TestInterface a = new EmmaClassLoadingTest.TestInterface() {
+      @SuppressWarnings("jsni")
       public native void foo() /*-{
         @com.google.gwt.dev.shell.rewrite.client.ThirdTopLevelClass::log(Ljava/lang/String;)("3a foo");
       }-*/;
