diff --git a/lib/src/render/parameter_renderer.dart b/lib/src/render/parameter_renderer.dart
index fffbd46..dd1a2f7 100644
--- a/lib/src/render/parameter_renderer.dart
+++ b/lib/src/render/parameter_renderer.dart
@@ -185,6 +185,7 @@
         buf.write(renderLinkedParams(paramModelType.element.parameters,
             showMetadata: showMetadata, showNames: showNames));
         buf.write(')');
+        buf.write(paramModelType.nullabilitySuffix);
       }
       if (!paramModelType.isTypedef && paramModelType.type is FunctionType) {
         buf.write('(');
@@ -193,6 +194,7 @@
             showMetadata: showMetadata,
             showNames: showNames));
         buf.write(')');
+        buf.write(paramModelType.nullabilitySuffix);
       }
     } else if (param.modelType != null) {
       var linkedTypeName = paramModelType.linkedName;
diff --git a/test/end2end/model_special_cases_test.dart b/test/end2end/model_special_cases_test.dart
index ac0015a..e6f2114 100644
--- a/test/end2end/model_special_cases_test.dart
+++ b/test/end2end/model_special_cases_test.dart
@@ -89,6 +89,7 @@
         optOutOfNullSafety,
         nullableElements;
     Class b;
+    Class c;
 
     setUpAll(() async {
       lateFinalWithoutInitializer = (await _testPackageGraphExperiments)
@@ -105,6 +106,8 @@
           .firstWhere((lib) => lib.name == 'nullable_elements');
       b = nullSafetyClassMemberDeclarations.allClasses
           .firstWhere((c) => c.name == 'B');
+      c = nullSafetyClassMemberDeclarations.allClasses
+          .firstWhere((c) => c.name == 'C');
     });
 
     test('isNullSafety is set correctly for libraries', () {
@@ -154,6 +157,24 @@
               '</ol>'));
     });
 
+    test('anonymous callback parameters are correctly marked as nullable', () {
+      var m3 = c.instanceMethods.firstWhere((m) => m.name == 'm3');
+      var listen = m3.allParameters.firstWhere((p) => p.name == 'listen');
+      var onDone = m3.allParameters.firstWhere((p) => p.name == 'onDone');
+      expect(listen.isRequiredPositional, isTrue);
+      expect(onDone.isNamed, isTrue);
+
+      expect(
+          m3.linkedParamsLines,
+          equals(
+              '<ol class="parameter-list"><li><span class="parameter" id="m3-param-listen"><span class="type-annotation">void</span> <span class="parameter-name">listen</span>(<ol class="parameter-list"><li><span class="parameter" id="param-t"><span class="type-annotation">int</span> <span class="parameter-name">t</span></span></li>\n'
+              '</ol>\n'
+              ')?, </span></li>\n'
+              '<li><span class="parameter" id="m3-param-onDone">{<span class="type-annotation">void</span> <span class="parameter-name">onDone</span>(<ol class="parameter-list"></ol>\n'
+              ')?}</span></li>\n'
+              '</ol>'));
+    });
+
     test('Late final class member test', () {
       var c = lateFinalWithoutInitializer.allClasses
           .firstWhere((c) => c.name == 'C');
diff --git a/testing/test_package_experiments/lib/nnbd_class_member_declarations.dart b/testing/test_package_experiments/lib/nnbd_class_member_declarations.dart
index 4687944..7d13186 100644
--- a/testing/test_package_experiments/lib/nnbd_class_member_declarations.dart
+++ b/testing/test_package_experiments/lib/nnbd_class_member_declarations.dart
@@ -26,4 +26,6 @@
   List<int?> get testFieldNullableParameter => [];
 
   List<Map<String, num?>>? method1() => null;
+
+  void m3(void listen(int t)?, {void onDone()?});
 }
