diff --git a/tests/language_2/language_2_analyzer.status b/tests/language_2/language_2_analyzer.status
index 2cc1a90..4d4b5b3 100644
--- a/tests/language_2/language_2_analyzer.status
+++ b/tests/language_2/language_2_analyzer.status
@@ -73,8 +73,6 @@
 invalid_type_argument_count_test/03: MissingCompileTimeError
 invalid_type_argument_count_test/04: MissingCompileTimeError
 method_override7_test/03: Fail # Issue 11497
-method_override_test: CompileTimeError
-method_override_test: StaticWarning
 mixin_supertype_subclass2_test/02: MissingStaticWarning # Issue 25614
 mixin_supertype_subclass2_test/05: MissingStaticWarning # Issue 25614
 mixin_supertype_subclass3_test/02: MissingStaticWarning # Issue 25614
diff --git a/tests/language_2/language_2_dart2js.status b/tests/language_2/language_2_dart2js.status
index b7eb8ea..532ac80 100644
--- a/tests/language_2/language_2_dart2js.status
+++ b/tests/language_2/language_2_dart2js.status
@@ -897,7 +897,6 @@
 local_function2_test/none: RuntimeError
 local_function3_test/none: RuntimeError
 local_function_test/none: RuntimeError
-method_override_test: CompileTimeError
 minify_closure_variable_collision_test: CompileTimeError
 mint_arithmetic_test: RuntimeError # non JS number semantics
 mixin_forwarding_constructor4_test/01: MissingCompileTimeError
diff --git a/tests/language_2/language_2_dartdevc.status b/tests/language_2/language_2_dartdevc.status
index 0d6f418..46b29f0 100644
--- a/tests/language_2/language_2_dartdevc.status
+++ b/tests/language_2/language_2_dartdevc.status
@@ -100,7 +100,6 @@
 label_test: RuntimeError
 left_shift_test: RuntimeError # Ints and doubles are unified.
 method_override7_test/03: MissingCompileTimeError
-method_override_test: CompileTimeError # Negative test
 mixin_super_2_test/01: MissingCompileTimeError
 mixin_super_2_test/03: MissingCompileTimeError
 mixin_super_test: RuntimeError
@@ -325,7 +324,6 @@
 map_literal3_test/01: MissingCompileTimeError
 map_literal3_test/02: MissingCompileTimeError
 map_literal3_test/03: MissingCompileTimeError
-method_override_test: CompileTimeError # Issue 31616
 mixin_forwarding_constructor4_test/01: MissingCompileTimeError
 mixin_forwarding_constructor4_test/02: MissingCompileTimeError
 mixin_forwarding_constructor4_test/03: MissingCompileTimeError
diff --git a/tests/language_2/language_2_kernel.status b/tests/language_2/language_2_kernel.status
index 36095f6..93ba1ca 100644
--- a/tests/language_2/language_2_kernel.status
+++ b/tests/language_2/language_2_kernel.status
@@ -88,7 +88,6 @@
 local_function3_test/none: RuntimeError
 local_function_test/none: RuntimeError
 main_test/03: RuntimeError
-method_override_test: CompileTimeError # Issue 31616 --- note that this test cannot be expected to pass in its current state!
 mixin_illegal_super_use_test/01: MissingCompileTimeError
 mixin_illegal_super_use_test/04: MissingCompileTimeError
 mixin_illegal_super_use_test/07: MissingCompileTimeError
@@ -863,7 +862,6 @@
 method_override6_test/01: MissingCompileTimeError
 method_override6_test/02: MissingCompileTimeError
 method_override6_test/03: MissingCompileTimeError
-method_override_test: CompileTimeError # Issue 31616 --- note that this test cannot be expected to pass in its current state!
 mixin_illegal_super_use_test: Skip # Issues 24478 and 23773
 mixin_illegal_superclass_test: Skip # Issues 24478 and 23773
 named_parameters_default_eq_test/none: RuntimeError
@@ -983,7 +981,6 @@
 instantiate_tearoff_of_call_test: CompileTimeError
 issue31596_super_test/01: CompileTimeError
 issue31596_super_test/03: CompileTimeError
-method_override_test: CompileTimeError # Issue 31616 --- note that this test cannot be expected to pass in its current state!
 mixin_illegal_super_use_test/01: MissingCompileTimeError
 mixin_illegal_super_use_test/04: MissingCompileTimeError
 mixin_illegal_super_use_test/07: MissingCompileTimeError
@@ -1454,7 +1451,6 @@
 method_override6_test/01: MissingCompileTimeError
 method_override6_test/02: MissingCompileTimeError
 method_override6_test/03: MissingCompileTimeError
-method_override_test: CompileTimeError # Issue 31616 --- note that this test cannot be expected to pass in its current state!
 mixin_illegal_super_use_test: Skip # Issues 24478 and 23773
 mixin_illegal_superclass_test: Skip # Issues 24478 and 23773
 named_constructor_test/01: MissingRuntimeError # Fasta bug: Bad compilation of constructor reference.
diff --git a/tests/language_2/method_override_test.dart b/tests/language_2/method_override_test.dart
index fe3b686..1a09455 100644
--- a/tests/language_2/method_override_test.dart
+++ b/tests/language_2/method_override_test.dart
@@ -9,14 +9,17 @@
 
 typedef V RemoveFunctionType<K, V>(K key);
 
-class MapBase<K, V> implements Map<K, V> {
+class MapBase<K, V> {
   K remove(K key) {
     throw 'Must be implemented';
   }
 
-  void Tests() {
+  void tests() {
     Expect.isTrue(this is MapBase<int, int>);
 
+    // `remove` takes an argument which is covariant-by-class, so
+    // the tear-off has dynamic type `int Function(Object)`.
+
     Expect.isTrue(remove is RemoveFunctionType);
     Expect.isTrue(remove is RemoveFunctionType<int, int>);
     Expect.isTrue(remove is RemoveFunctionType<String, int>);
@@ -29,10 +32,14 @@
     throw 'Must be implemented';
   }
 
-  void Tests() {
+  void tests() {
     Expect.isTrue(this is MethodOverrideTest);
     Expect.isTrue(this is MapBase<String, String>);
 
+    // `remove` takes an argument which is covariant-by-class because
+    // an overridden method does so, and hence the tear-off has dynamic
+    // type `String Function(Object)`; so does `super.remove`.
+
     Expect.isTrue(remove is RemoveFunctionType);
     Expect.isTrue(remove is RemoveFunctionType<String, String>);
     Expect.isTrue(remove is! RemoveFunctionType<int, int>);
@@ -43,17 +50,6 @@
 }
 
 main() {
-  // Since method overriding is only checked statically, explicitly check
-  // the subtyping relation using a function type alias.
-  var x = new MethodOverrideTest();
-  Expect.isTrue(x.remove is RemoveFunctionType<String, String>);
-
-  // Perform a few more tests.
-  x.Tests();
-
-  var m = new MapBase<int, int>();
-  Expect.isTrue(m.remove is RemoveFunctionType<int, int>);
-
-  // Perform a few more tests.
-  m.Tests();
+  new MapBase<int, int>().tests();
+  new MethodOverrideTest().tests();
 }
