diff --git a/pkg/compiler/lib/src/elements/types.dart b/pkg/compiler/lib/src/elements/types.dart
index 231c558..9248fe1 100644
--- a/pkg/compiler/lib/src/elements/types.dart
+++ b/pkg/compiler/lib/src/elements/types.dart
@@ -707,8 +707,8 @@
   }
 
   bool _equalsInternal(FunctionType other, _Assumptions assumptions) {
+    if (typeVariables.length != other.typeVariables.length) return false;
     if (typeVariables.isNotEmpty) {
-      if (typeVariables.length != other.typeVariables.length) return false;
       assumptions ??= new _Assumptions();
       for (int index = 0; index < typeVariables.length; index++) {
         assumptions.assume(typeVariables[index], other.typeVariables[index]);
diff --git a/tests/language_2/language_2_dart2js.status b/tests/language_2/language_2_dart2js.status
index 98f6320..44bff76 100644
--- a/tests/language_2/language_2_dart2js.status
+++ b/tests/language_2/language_2_dart2js.status
@@ -116,33 +116,11 @@
 field_type_check2_test/01: MissingRuntimeError
 regress_23996_test: RuntimeError # Jsshell does not provide non-zero timers, Issue 7728
 
-[ $compiler == dart2js && $runtime != none ]
-function_type/function_type0_test: RuntimeError # Issue 30476
-function_type/function_type1_test: RuntimeError # Issue 30476
-function_type/function_type2_test: RuntimeError # Issue 30476
-function_type/function_type3_test: RuntimeError # Issue 30476
-function_type/function_type58_test: RuntimeError # Issue 30476
-function_type/function_type96_test: RuntimeError # Issue 30476
-function_type/function_type97_test: RuntimeError # Issue 30476
-function_type/function_type98_test: RuntimeError # Issue 30476
-function_type/function_type99_test: RuntimeError # Issue 30476
-
 [ $compiler == dart2js && $runtime != none && $checked ]
 assert_with_message_test: RuntimeError
 syncstar_covariant_type_test: RuntimeError # dart2js misplaces check in Iterator, not Iterable.
 syncstar_dcall_type_test: RuntimeError # dart2js misplaces check in Iterator, not Iterable.
 
-[ $compiler == dart2js && $runtime != none && $host_checked ]
-function_type/function_type0_test: RuntimeError # Issue 30476
-function_type/function_type1_test: RuntimeError # Issue 30476
-function_type/function_type2_test: RuntimeError # Issue 30476
-function_type/function_type3_test: RuntimeError # Issue 30476
-function_type/function_type58_test: Crash # Failed assertion: line 2259 pos 18: 'other.gvnEquals(instruction) && instruction.gvnEquals(other)': is not true.
-function_type/function_type96_test: Crash # Failed assertion: line 2259 pos 18: 'other.gvnEquals(instruction) && instruction.gvnEquals(other)': is not true.
-function_type/function_type97_test: Crash # Failed assertion: line 2259 pos 18: 'other.gvnEquals(instruction) && instruction.gvnEquals(other)': is not true.
-function_type/function_type98_test: Crash # Failed assertion: line 2259 pos 18: 'other.gvnEquals(instruction) && instruction.gvnEquals(other)': is not true.
-function_type/function_type99_test: Crash # Failed assertion: line 2259 pos 18: 'other.gvnEquals(instruction) && instruction.gvnEquals(other)': is not true.
-
 [ $compiler == dart2js && $runtime == safari ]
 field_override_optimization_test: RuntimeError
 field_type_check2_test/01: MissingRuntimeError
