diff --git a/runtime/lib/internal_patch.dart b/runtime/lib/internal_patch.dart
index b906776..8446926 100644
--- a/runtime/lib/internal_patch.dart
+++ b/runtime/lib/internal_patch.dart
@@ -105,7 +105,7 @@
 // Check that a set of type arguments satisfy the type parameter bounds on a
 // closure.
 @pragma("vm:entry-point")
-_boundsCheckForPartialInstantiation(closure, type_args)
+_boundsCheckForPartialInstantiation(closure, typeArgs)
     native "Internal_boundsCheckForPartialInstantiation";
 
 // Called by IRRegExpMacroAssembler::GrowStack.
diff --git a/runtime/lib/object.cc b/runtime/lib/object.cc
index b68fac0..7b0537f 100644
--- a/runtime/lib/object.cc
+++ b/runtime/lib/object.cc
@@ -492,7 +492,7 @@
 
   // This should be guaranteed by the front-end.
   ASSERT(type_args_to_check.IsNull() ||
-         bounds.Length() == type_args_to_check.Length());
+         bounds.Length() <= type_args_to_check.Length());
 
   // The bounds on the closure may need instantiation.
   const TypeArguments& instantiator_type_args =
@@ -503,16 +503,17 @@
   AbstractType& supertype = AbstractType::Handle(zone);
   AbstractType& subtype = AbstractType::Handle(zone);
   TypeParameter& parameter = TypeParameter::Handle(zone);
+  Error& bound_error = Error::Handle(zone);
   for (intptr_t i = 0; i < bounds.Length(); ++i) {
     parameter ^= bounds.TypeAt(i);
     supertype = parameter.bound();
-    subtype = type_args_to_check.TypeAt(i);
+    subtype = type_args_to_check.IsNull() ? Object::dynamic_type().raw()
+                                          : type_args_to_check.TypeAt(i);
 
     ASSERT(!subtype.IsNull() && !subtype.IsMalformedOrMalbounded());
     ASSERT(!supertype.IsNull() && !supertype.IsMalformedOrMalbounded());
 
     // The supertype may not be instantiated.
-    Error& bound_error = Error::Handle(zone);
     if (!AbstractType::InstantiateAndTestSubtype(
             &subtype, &supertype, &bound_error, instantiator_type_args,
             function_type_args)) {
