diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py
index 3b85123..04e05b9 100644
--- a/Lib/logging/__init__.py
+++ b/Lib/logging/__init__.py
@@ -18,9 +18,6 @@
 Logging package for Python. Based on PEP 282 and comments thereto in
 comp.lang.python, and influenced by Apache's log4j system.
 
-Should work under Python versions >= 1.5.2, except that source line
-information is not available unless 'sys._getframe()' is.
-
 Copyright (C) 2001-2007 Vinay Sajip. All Rights Reserved.
 
 To use, simply 'import logging' and log away!
diff --git a/Lib/logging/config.py b/Lib/logging/config.py
index e5b8bb1..fd6caaa 100644
--- a/Lib/logging/config.py
+++ b/Lib/logging/config.py
@@ -19,9 +19,6 @@
 is based on PEP 282 and comments thereto in comp.lang.python, and influenced
 by Apache's log4j system.
 
-Should work under Python versions >= 1.5.2, except that source line
-information is not available unless 'sys._getframe()' is.
-
 Copyright (C) 2001-2007 Vinay Sajip. All Rights Reserved.
 
 To use, simply 'import logging' and log away!
diff --git a/Lib/logging/handlers.py b/Lib/logging/handlers.py
index 2062809..b53262e 100644
--- a/Lib/logging/handlers.py
+++ b/Lib/logging/handlers.py
@@ -19,9 +19,6 @@
 based on PEP 282 and comments thereto in comp.lang.python, and influenced by
 Apache's log4j system.
 
-Should work under Python versions >= 1.5.2, except that source line
-information is not available unless 'sys._getframe()' is.
-
 Copyright (C) 2001-2007 Vinay Sajip. All Rights Reserved.
 
 To use, simply 'import logging' and log away!
diff --git a/Lib/pdb.py b/Lib/pdb.py
index f5bdb20..bd51c31 100755
--- a/Lib/pdb.py
+++ b/Lib/pdb.py
@@ -909,12 +909,7 @@
 With a space separated list of breakpoint numbers, clear
 those breakpoints.  Without argument, clear all breaks (but
 first ask confirmation).  With a filename:lineno argument,
-clear all breaks at that line in that file.
-
-Note that the argument is different from previous versions of
-the debugger (in python distributions 1.5.1 and before) where
-a linenumber was used instead of either filename:lineno or
-breakpoint numbers.""", file=self.stdout)
+clear all breaks at that line in that file.""", file=self.stdout)
 
     def help_tbreak(self):
         print("""tbreak  same arguments as break, but breakpoint is
diff --git a/Lib/platform.py b/Lib/platform.py
index 3a4eaaf..3d1997c 100755
--- a/Lib/platform.py
+++ b/Lib/platform.py
@@ -12,8 +12,6 @@
 #    If you find problems, please submit bug reports/patches via the
 #    Python SourceForge Project Page and assign them to "lemburg".
 #
-#    Note: Please keep this module compatible to Python 1.5.2.
-#
 #    Still needed:
 #    * more support for WinCE
 #    * support for MS-DOS (PythonDX ?)
@@ -857,22 +855,6 @@
         # Still not working...
         return default
 
-# os.path.abspath is new in Python 1.5.2:
-if not hasattr(os.path,'abspath'):
-
-    def _abspath(path,
-
-                 isabs=os.path.isabs,join=os.path.join,getcwd=os.getcwd,
-                 normpath=os.path.normpath):
-
-        if not isabs(path):
-            path = join(getcwd(), path)
-        return normpath(path)
-
-else:
-
-    _abspath = os.path.abspath
-
 def _follow_symlinks(filepath):
 
     """ In case filepath is a symlink, follow it until a
diff --git a/Lib/site.py b/Lib/site.py
index 3ba4212..56af90e 100644
--- a/Lib/site.py
+++ b/Lib/site.py
@@ -4,12 +4,6 @@
 * This module is automatically imported during initialization. *
 ****************************************************************
 
-In earlier versions of Python (up to 1.5a3), scripts or modules that
-needed to use site-specific modules would place ``import site''
-somewhere near the top of their code.  Because of the automatic
-import, this is no longer necessary (but code that does it still
-works).
-
 This will append site-specific paths to the module search path.  On
 Unix (including Mac OSX), it starts with sys.prefix and
 sys.exec_prefix (if different) and appends
diff --git a/Lib/test/regex_tests.py b/Lib/test/regex_tests.py
index e004ad0..8f21280 100644
--- a/Lib/test/regex_tests.py
+++ b/Lib/test/regex_tests.py
@@ -1,6 +1,4 @@
 # Regex test suite and benchmark suite v1.5a2
-# Due to the use of r"aw" strings, this file will
-# only work with Python 1.5 or higher.
 
 # The 3 possible outcomes for each pattern
 [SUCCEED, FAIL, SYNTAX_ERROR] = range(3)
