diff --git a/Doc/lib/libos.tex b/Doc/lib/libos.tex
index dd492bb..074d332 100644
--- a/Doc/lib/libos.tex
+++ b/Doc/lib/libos.tex
@@ -1054,7 +1054,8 @@
 Availability: Macintosh, \UNIX, Windows.
 \end{funcdesc}
 
-\begin{funcdesc}{walk}{top\optional{, topdown\code{=True}}}
+\begin{funcdesc}{walk}{top\optional{, topdown\code{=True}
+                       \optional{, onerror\code{=None}}}}
 \index{directory!walking}
 \index{directory!traversal}
 \function{walk()} generates the file names in a directory tree, by
@@ -1087,6 +1088,13 @@
 false is ineffective, because in bottom-up mode the directories in
 \var{dirnames} are generated before \var{dirnames} itself is generated.
 
+By default errors from the \code{os.listdir()} call are ignored.  If
+optional argument \var{onerror} is specified, it should be a function;
+it will be called with one argument, an os.error instance.  It can
+report the error to continue with the walk, or raise the exception
+to abort the walk.  Note that the filename is available as the
+\code{filename} attribute of the exception object.
+
 \begin{notice}
 If you pass a relative pathname, don't change the current working
 directory between resumptions of \function{walk()}.  \function{walk()}
diff --git a/Lib/os.py b/Lib/os.py
index 69d1a44..e493ad0 100644
--- a/Lib/os.py
+++ b/Lib/os.py
@@ -203,7 +203,7 @@
 
 __all__.extend(["makedirs", "removedirs", "renames"])
 
-def walk(top, topdown=True):
+def walk(top, topdown=True, onerror=None):
     """Directory tree generator.
 
     For each directory in the directory tree rooted at top (including top
@@ -232,6 +232,13 @@
     dirnames have already been generated by the time dirnames itself is
     generated.
 
+    By default errors from the os.listdir() call are ignored.  If
+    optional arg 'onerror' is specified, it should be a function; it
+    will be called with one argument, an os.error instance.  It can
+    report the error to continue with the walk, or raise the exception
+    to abort the walk.  Note that the filename is available as the
+    filename attribute of the exception object.
+
     Caution:  if you pass a relative pathname for top, don't change the
     current working directory between resumptions of walk.  walk never
     changes the current directory, and assumes that the client doesn't
@@ -259,7 +266,9 @@
         # Note that listdir and error are globals in this module due
         # to earlier import-*.
         names = listdir(top)
-    except error:
+    except error, err:
+        if onerror is not None:
+            onerror(err)
         return
 
     dirs, nondirs = [], []
@@ -274,7 +283,7 @@
     for name in dirs:
         path = join(top, name)
         if not islink(path):
-            for x in walk(path, topdown):
+            for x in walk(path, topdown, onerror):
                 yield x
     if not topdown:
         yield top, dirs, nondirs
diff --git a/Misc/NEWS b/Misc/NEWS
index d8a95a2..26b543b 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -38,6 +38,9 @@
 Library
 -------
 
+- Added optional 'onerror' argument to os.walk(), to control error
+  handling.
+
 - inspect.is{method|data}descriptor was added, to allow pydoc display
   __doc__ of data descriptors.
 
