diff --git a/Include/Python.h b/Include/Python.h
index 17ac374..f9c33d4 100644
--- a/Include/Python.h
+++ b/Include/Python.h
@@ -27,7 +27,7 @@
 #include <limits.h>
 #endif
 
-/* config.h may or may not define DL_IMPORT */
+/* pyconfig.h may or may not define DL_IMPORT */
 #ifndef DL_IMPORT	/* declarations for DLL import/export */
 #define DL_IMPORT(RTYPE) RTYPE
 #endif
diff --git a/Include/pgenheaders.h b/Include/pgenheaders.h
index 6807c64..20ac2c7 100644
--- a/Include/pgenheaders.h
+++ b/Include/pgenheaders.h
@@ -9,7 +9,7 @@
 
 #include "pyconfig.h"
 
-/* config.h may or may not define DL_IMPORT */
+/* pyconfig.h may or may not define DL_IMPORT */
 #ifndef DL_IMPORT	/* declarations for DLL import/export */
 #define DL_IMPORT(RTYPE) RTYPE
 #endif
diff --git a/Include/pymem.h b/Include/pymem.h
index 71fc8b5..86a69e4 100644
--- a/Include/pymem.h
+++ b/Include/pymem.h
@@ -140,7 +140,7 @@
 
    d_malloc(size_t n, char* src_file, unsigned long src_line) c.s.
 
-   In this case, you would define (for example in config.h) :
+   In this case, you would define (for example in pyconfig.h) :
 
    #define PyCore_MALLOC_FUNC      d_malloc
    ...
diff --git a/Include/pyport.h b/Include/pyport.h
index 5767aab..c589ecd 100644
--- a/Include/pyport.h
+++ b/Include/pyport.h
@@ -128,7 +128,7 @@
  *      #define DONT_HAVE_STAT
  * and/or
  *      #define DONT_HAVE_FSTAT
- * to your config.h. Python code beyond this should check HAVE_STAT and
+ * to your pyconfig.h. Python code beyond this should check HAVE_STAT and
  * HAVE_FSTAT instead.
  * Also
  *      #define DONT_HAVE_SYS_STAT_H
diff --git a/PC/os2vacpp/pyconfig.h b/PC/os2vacpp/pyconfig.h
index e7901e3..a5a2f51 100644
--- a/PC/os2vacpp/pyconfig.h
+++ b/PC/os2vacpp/pyconfig.h
@@ -2,7 +2,7 @@
 #define Py_CONFIG_H
 
 /**********************************************************************
- * config.h.  NOT Generated automatically by configure.
+ * pyconfig.h.  NOT Generated automatically by configure.
  *
  * This is a manually maintained version used for the IBM VisualAge
  * C/C++ compiler on the OS/2 platform.  It is a standard part of
diff --git a/PC/pyconfig.h b/PC/pyconfig.h
index d0a8907..1e279ed 100644
--- a/PC/pyconfig.h
+++ b/PC/pyconfig.h
@@ -1,7 +1,7 @@
 #ifndef Py_CONFIG_H
 #define Py_CONFIG_H
 
-/* config.h.  NOT Generated automatically by configure.
+/* pyconfig.h.  NOT Generated automatically by configure.
 
 This is a manually maintained version used for the Watcom,
 Borland and and Microsoft Visual C++ compilers.  It is a
diff --git a/PC/readme.txt b/PC/readme.txt
index 0455f27..0826699 100644
--- a/PC/readme.txt
+++ b/PC/readme.txt
@@ -50,7 +50,7 @@
 (or makefile) provided.  This will enable you to change any source
 files or build settings so you can make custom builds.
 
-config.h    An important configuration file specific to PC's.
+pyconfig.h    An important configuration file specific to PC's.
 
 config.c    The list of C modules to include in the Python PC
             version.  Manually edit this file to add or
diff --git a/PCbuild/python.iss b/PCbuild/python.iss
index 84e2cf2..80b43c7 100644
--- a/PCbuild/python.iss
+++ b/PCbuild/python.iss
@@ -172,7 +172,7 @@
 Source: Lib\lib-old\*.py;  DestDir: "{app}\Lib\lib-old"; CopyMode: alwaysoverwrite; Components: main
 Source: Lib\site-packages\README; DestDir: "{app}\Lib\site-packages"; DestName: README.txt; CopyMode: alwaysoverwrite; Components: main
 Source: Include\*.h; DestDir: "{app}\include"; CopyMode: alwaysoverwrite; Components: main
-Source: PC\config.h; DestDir: "{app}\include"; CopyMode: alwaysoverwrite; Components: main
+Source: PC\pyconfig.h; DestDir: "{app}\include"; CopyMode: alwaysoverwrite; Components: main
 
 Source: Tools\scripts\*.py;  DestDir: "{app}\Tools\Scripts";  CopyMode: alwaysoverwrite; Components: tools
 Source: Tools\scripts\*.pyw; DestDir: "{app}\Tools\Scripts";  CopyMode: alwaysoverwrite; Components: tools
diff --git a/Python/thread.c b/Python/thread.c
index 0b0316a..3558af0 100644
--- a/Python/thread.c
+++ b/Python/thread.c
@@ -7,7 +7,7 @@
 
 #include "pyconfig.h"
 
-/* config.h may or may not define DL_IMPORT */
+/* pyconfig.h may or may not define DL_IMPORT */
 #ifndef DL_IMPORT	/* declarations for DLL import/export */
 #define DL_IMPORT(RTYPE) RTYPE
 #endif
diff --git a/setup.py b/setup.py
index eab1f59..0d20ece 100644
--- a/setup.py
+++ b/setup.py
@@ -84,7 +84,7 @@
         for ext in self.extensions[:]:
             ext.sources = [ os.path.join(moddir, filename)
                             for filename in ext.sources ]
-            ext.include_dirs.append( '.' ) # to get config.h
+            ext.include_dirs.append( '.' ) # to get pyconfig.h
             ext.include_dirs.append( os.path.join(srcdir, './Include') )
 
             # If a module has already been built statically,
