diff --git a/pkg/nnbd_migration/lib/src/decorated_type.dart b/pkg/nnbd_migration/lib/src/decorated_type.dart
index 92bd15c..5205490 100644
--- a/pkg/nnbd_migration/lib/src/decorated_type.dart
+++ b/pkg/nnbd_migration/lib/src/decorated_type.dart
@@ -54,16 +54,17 @@
           NullabilitySuffix.star); // TODO(paulberry)
       if (type is FunctionType) {
         var positionalParameters = <DecoratedType>[];
+        var namedParameters = <String, DecoratedType>{};
         for (var parameter in type.parameters) {
           if (parameter.isPositional) {
             positionalParameters.add(decorate(parameter.type));
           } else {
-            // TODO(paulberry)
-            throw UnimplementedError('Decorating (${parameter.displayName})');
+            namedParameters[parameter.name] = decorate(parameter.type);
           }
         }
         return DecoratedType(type, graph.never,
             returnType: decorate(type.returnType),
+            namedParameters: namedParameters,
             positionalParameters: positionalParameters);
       } else if (type is InterfaceType) {
         if (type.typeParameters.isNotEmpty) {
diff --git a/pkg/nnbd_migration/test/graph_builder_test.dart b/pkg/nnbd_migration/test/graph_builder_test.dart
index 0bc9ba1..9f516d6 100644
--- a/pkg/nnbd_migration/test/graph_builder_test.dart
+++ b/pkg/nnbd_migration/test/graph_builder_test.dart
@@ -1143,6 +1143,23 @@
         assertEdge(nullable_j, nullable_i, hard: true));
   }
 
+  test_methodInvocation_parameter_named_differentPackage() async {
+    addPackageFile('pkgC', 'c.dart', '''
+class C {
+  void f({int i}) {}
+}
+''');
+    await analyze('''
+import "package:pkgC/c.dart";
+void g(C c, int j) {
+  c.f(i: j/*check*/);
+}
+''');
+    var nullable_j = decoratedTypeAnnotation('int j');
+    assertNullCheck(checkExpression('j/*check*/'),
+        assertEdge(nullable_j.node, never, hard: true));
+  }
+
   test_methodInvocation_return_type() async {
     await analyze('''
 class C {
