diff --git a/user/test/com/google/gwt/core/client/interop/JsFunctionTest.java b/user/test/com/google/gwt/core/client/interop/JsFunctionTest.java
index 0393fc1..659f584 100644
--- a/user/test/com/google/gwt/core/client/interop/JsFunctionTest.java
+++ b/user/test/com/google/gwt/core/client/interop/JsFunctionTest.java
@@ -70,16 +70,6 @@
     assertEquals(12, callWithFunctionCall(jsFunctionInterface, 10));
   }
 
-  public void testJsFunctionSubImpl_js() {
-    MySubclassOfJsFunctionInterfaceImpl impl = new MySubclassOfJsFunctionInterfaceImpl();
-    assertEquals(21, callAsFunction(impl, 10));
-  }
-
-  public void testJsFunctionSubImpl_java() {
-    MySubclassOfJsFunctionInterfaceImpl impl = new MySubclassOfJsFunctionInterfaceImpl();
-    assertEquals(21, impl.foo(10));
-  }
-
   public void testJsFunctionIdentity_js() {
     MyJsFunctionIdentityInterface id = new MyJsFunctionIdentityInterface() {
       @Override
diff --git a/user/test/com/google/gwt/core/client/interop/MySubclassOfJsFunctionInterfaceImpl.java b/user/test/com/google/gwt/core/client/interop/MySubclassOfJsFunctionInterfaceImpl.java
deleted file mode 100644
index 84ddc9d..0000000
--- a/user/test/com/google/gwt/core/client/interop/MySubclassOfJsFunctionInterfaceImpl.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright 2015 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.google.gwt.core.client.interop;
-
-/**
- * A concrete class, whose super class implements a @JsFunction interface.
- */
-public class MySubclassOfJsFunctionInterfaceImpl extends MyJsFunctionInterfaceImpl {
-
-  @Override
-  public int foo(int a) {
-    return super.foo(a) + a;
-  }
-}
