diff --git a/Lib/test/test_cprofile.py b/Lib/test/test_cprofile.py
index 349d342..4586b36 100644
--- a/Lib/test/test_cprofile.py
+++ b/Lib/test/test_cprofile.py
@@ -9,6 +9,7 @@
 
 class CProfileTest(ProfileTest):
     profilerclass = cProfile.Profile
+    expected_max_output = "{built-in method max}"
 
     def get_expected_output(self):
         return _ProfileOutput
diff --git a/Lib/test/test_profile.py b/Lib/test/test_profile.py
index c972fc6..243a322 100755
--- a/Lib/test/test_profile.py
+++ b/Lib/test/test_profile.py
@@ -16,6 +16,7 @@
 
     profilerclass = profile.Profile
     methodnames = ['print_stats', 'print_callers', 'print_callees']
+    expected_max_output = ':0(max)'
 
     def get_expected_output(self):
         return _ProfileOutput
@@ -53,6 +54,27 @@
                                   results[i+1].split('\n'),
                                   expected[method].split('\n'))))
 
+    def test_calling_conventions(self):
+        # Issue #5330: profile and cProfile wouldn't report C functions called
+        # with keyword arguments. We test all calling conventions.
+        stmts = [
+            "max([0])",
+            "max([0], key=int)",
+            "max([0], **dict(key=int))",
+            "max(*([0],))",
+            "max(*([0],), key=int)",
+            "max(*([0],), **dict(key=int))",
+        ]
+        for stmt in stmts:
+            s = StringIO()
+            prof = self.profilerclass(timer, 0.001)
+            prof.runctx(stmt, globals(), locals())
+            stats = pstats.Stats(prof, stream=s)
+            stats.print_stats()
+            res = s.getvalue()
+            self.assertTrue(self.expected_max_output in res,
+                "Profiling {0!r} didn't report max:\n{1}".format(stmt, res))
+
 
 def regenerate_expected_output(filename, cls):
     filename = filename.rstrip('co')
