diff --git a/Doc/library/pkgutil.rst b/Doc/library/pkgutil.rst
index f169263..5189377 100644
--- a/Doc/library/pkgutil.rst
+++ b/Doc/library/pkgutil.rst
@@ -45,7 +45,7 @@
 
    Get a resource from a package.
 
-   This is a wrapper for the PEP 302 loader :func:`get_data` API. The package
+   This is a wrapper for the :pep:`302` loader :func:`get_data` API. The package
    argument should be the name of a package, in standard module format
    (foo.bar). The resource argument should be in the form of a relative
    filename, using ``/`` as the path separator. The parent directory name
@@ -60,5 +60,5 @@
        d = os.path.dirname(sys.modules[package].__file__)
        data = open(os.path.join(d, resource), 'rb').read()
 
-   If the package cannot be located or loaded, or it uses a PEP 302 loader
+   If the package cannot be located or loaded, or it uses a :pep:`302` loader
    which does not support :func:`get_data`, then None is returned.
diff --git a/Doc/library/runpy.rst b/Doc/library/runpy.rst
index cfaab94..a0f3035 100644
--- a/Doc/library/runpy.rst
+++ b/Doc/library/runpy.rst
@@ -25,7 +25,7 @@
 
    Execute the code of the specified module and return the resulting module globals
    dictionary. The module's code is first located using the standard import
-   mechanism (refer to PEP 302 for details) and then executed in a fresh module
+   mechanism (refer to :pep:`302` for details) and then executed in a fresh module
    namespace.
 
    The optional dictionary argument *init_globals* may be used to pre-populate the
@@ -41,7 +41,7 @@
    ``__name__`` is set to *run_name* if this optional argument is supplied, and the
    *mod_name* argument otherwise.
 
-   ``__loader__`` is set to the PEP 302 module loader used to retrieve the code for
+   ``__loader__`` is set to the :pep:`302` module loader used to retrieve the code for
    the module (This loader may be a wrapper around the standard import mechanism).
 
    ``__file__`` is set to the name provided by the module loader. If the loader
diff --git a/Doc/library/threading.rst b/Doc/library/threading.rst
index 1440215..94f75ed 100644
--- a/Doc/library/threading.rst
+++ b/Doc/library/threading.rst
@@ -14,7 +14,7 @@
 
 .. note::
 
-   Starting with Python 2.6, this module provides PEP 8 compliant aliases and
+   Starting with Python 2.6, this module provides :pep:`8` compliant aliases and
    properties to replace the ``camelCase`` names that were inspired by Java's
    threading API. This updated API is compatible with that of the
    :mod:`multiprocessing` module. However, no schedule has been set for the
diff --git a/Doc/library/wsgiref.rst b/Doc/library/wsgiref.rst
index a97eaec..517fc38 100644
--- a/Doc/library/wsgiref.rst
+++ b/Doc/library/wsgiref.rst
@@ -712,7 +712,7 @@
    # use a function (note that you're not limited to a function, you can
    # use a class for example). The first argument passed to the function
    # is a dictionary containing CGI-style envrironment variables and the
-   # second variable is the callable object (see PEP333)
+   # second variable is the callable object (see :pep:`333`)
    def hello_world_app(environ, start_response):
        status = '200 OK' # HTTP Status
        headers = [('Content-type', 'text/plain')] # HTTP Headers
diff --git a/Doc/library/zipimport.rst b/Doc/library/zipimport.rst
index 8e6b132..4ce9a35 100644
--- a/Doc/library/zipimport.rst
+++ b/Doc/library/zipimport.rst
@@ -41,12 +41,12 @@
       Documentation on the ZIP file format by Phil Katz, the creator of the format and
       algorithms used.
 
-   :pep:`0273` - Import Modules from Zip Archives
+   :pep:`273` - Import Modules from Zip Archives
       Written by James C. Ahlstrom, who also provided an implementation. Python 2.3
       follows the specification in PEP 273, but uses an implementation written by Just
       van Rossum that uses the import hooks described in PEP 302.
 
-   :pep:`0302` - New Import Hooks
+   :pep:`302` - New Import Hooks
       The PEP to add the import hooks that help this module work.
 
 
