diff --git a/Doc/tools/extensions/pyspecific.py b/Doc/tools/extensions/pyspecific.py
index 4dd178619803a87a32f3d30403ae59c460274a93..37e2a696cfa1b7ceb7552d345b8f00d181b2aa62 100644
--- a/Doc/tools/extensions/pyspecific.py
+++ b/Doc/tools/extensions/pyspecific.py
@@ -313,7 +313,8 @@ def run(self):
             text = 'The NEWS file is not available.'
             node = nodes.strong(text, text)
             return [node]
-        content = issue_re.sub(r'`bpo-\1 <https://bugs.python.org/issue\1>`__',
+        content = issue_re.sub(r'`bpo-\1 <https://bugs.python.org/'
+                               r'issue?@action=redirect&bpo=\1>`__',
                                content)
         content = whatsnew_re.sub(r'\1', content)
         # remove first 3 lines as they are the main heading