diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-07-21-19-19-20.gh-issue-95060.4xdT1f.rst b/Misc/NEWS.d/next/Core and Builtins/2022-07-21-19-19-20.gh-issue-95060.4xdT1f.rst
new file mode 100644
index 0000000000000000000000000000000000000000..160999e82bf0811463f6d3e5169425a50644699d
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/2022-07-21-19-19-20.gh-issue-95060.4xdT1f.rst	
@@ -0,0 +1,2 @@
+Undocumented ``PyCode_Addr2Location`` function now properly returns when
+``addrq`` argument is less than zero.
diff --git a/Objects/codeobject.c b/Objects/codeobject.c
index 4859b1ecebe50f97fb7bf02050e65d4d77b70a08..35576a283b8248f3b4b75a5561878b01dbe84321 100644
--- a/Objects/codeobject.c
+++ b/Objects/codeobject.c
@@ -969,6 +969,7 @@ PyCode_Addr2Location(PyCodeObject *co, int addrq,
     if (addrq < 0) {
         *start_line = *end_line = co->co_firstlineno;
         *start_column = *end_column = 0;
+        return 1;
     }
     assert(addrq >= 0 && addrq < _PyCode_NBYTES(co));
     PyCodeAddressRange bounds;