diff --git a/Lib/dospath.py b/Lib/dospath.py
index f613a63..345b940 100644
--- a/Lib/dospath.py
+++ b/Lib/dospath.py
@@ -6,7 +6,8 @@
 __all__ = ["normcase","isabs","join","splitdrive","split","splitext",
            "basename","dirname","commonprefix","getsize","getmtime",
            "getatime","islink","exists","isdir","isfile","ismount",
-           "walk","expanduser","expandvars","normpath","abspath"]
+           "walk","expanduser","expandvars","normpath","abspath",
+           "supports_unicode_filenames"]
 
 def normcase(s):
     """Normalize the case of a pathname.
@@ -336,3 +337,4 @@
 
 # realpath is a no-op on systems without islink support
 realpath = abspath
+supports_unicode_filenames = False
diff --git a/Lib/macpath.py b/Lib/macpath.py
index 8546892..f19b4f7 100644
--- a/Lib/macpath.py
+++ b/Lib/macpath.py
@@ -6,7 +6,8 @@
 __all__ = ["normcase","isabs","join","splitdrive","split","splitext",
            "basename","dirname","commonprefix","getsize","getmtime",
            "getatime","islink","exists","isdir","isfile",
-           "walk","expanduser","expandvars","normpath","abspath"]
+           "walk","expanduser","expandvars","normpath","abspath",
+           "supports_unicode_filenames"]
 
 # Normalize the case of a pathname.  Dummy in Posix, but <s>.lower() here.
 
@@ -248,3 +249,5 @@
         path = join(path, c)
         path = macfs.ResolveAliasFile(path)[0].as_pathname()
     return path
+
+supports_unicode_filenames = False
diff --git a/Lib/ntpath.py b/Lib/ntpath.py
index d376065..73b7a2f 100644
--- a/Lib/ntpath.py
+++ b/Lib/ntpath.py
@@ -7,11 +7,13 @@
 
 import os
 import stat
+import sys
 
 __all__ = ["normcase","isabs","join","splitdrive","split","splitext",
            "basename","dirname","commonprefix","getsize","getmtime",
            "getatime","islink","exists","isdir","isfile","ismount",
-           "walk","expanduser","expandvars","normpath","abspath","splitunc"]
+           "walk","expanduser","expandvars","normpath","abspath","splitunc",
+           "supports_unicode_filenames"]
 
 # Normalize the case of a pathname and map slashes to backslashes.
 # Other normalizations (such as optimizing '../' away) are not done
@@ -476,3 +478,5 @@
 
 # realpath is a no-op on systems without islink support
 realpath = abspath
+# Win9x family and earlier have no Unicode filename support.
+supports_unicode_filenames = sys.getwindowsversion()[3] >= 2
diff --git a/Lib/os2emxpath.py b/Lib/os2emxpath.py
index a539a82..616d474 100644
--- a/Lib/os2emxpath.py
+++ b/Lib/os2emxpath.py
@@ -11,7 +11,8 @@
 __all__ = ["normcase","isabs","join","splitdrive","split","splitext",
            "basename","dirname","commonprefix","getsize","getmtime",
            "getatime","islink","exists","isdir","isfile","ismount",
-           "walk","expanduser","expandvars","normpath","abspath","splitunc"]
+           "walk","expanduser","expandvars","normpath","abspath","splitunc",
+           "supports_unicode_filenames"]
 
 # Normalize the case of a pathname and map slashes to backslashes.
 # Other normalizations (such as optimizing '../' away) are not done
@@ -400,3 +401,5 @@
     if not isabs(path):
         path = join(os.getcwd(), path)
     return normpath(path)
+
+supports_unicode_filenames = False
diff --git a/Lib/posixpath.py b/Lib/posixpath.py
index d5d2621..bf15390 100644
--- a/Lib/posixpath.py
+++ b/Lib/posixpath.py
@@ -17,7 +17,7 @@
            "basename","dirname","commonprefix","getsize","getmtime",
            "getatime","islink","exists","isdir","isfile","ismount",
            "walk","expanduser","expandvars","normpath","abspath",
-           "samefile","sameopenfile","samestat"]
+           "samefile","sameopenfile","samestat","supports_unicode_filenames"]
 
 # Normalize the case of a pathname.  Trivial in Posix, string.lower on Mac.
 # On MS-DOS this may also turn slashes into backslashes; however, other
@@ -409,3 +409,6 @@
             return realpath(newpath)
 
     return filename
+
+supports_unicode_filenames = False
+
diff --git a/Lib/test/output/test_pep277 b/Lib/test/output/test_pep277
index 717b707..43bd9e1 100644
--- a/Lib/test/output/test_pep277
+++ b/Lib/test/output/test_pep277
@@ -1,4 +1,4 @@
 test_pep277
-u'F:\\src\\python-cvs\\Lib\\test\\@test\\Gr\xfc\xdf-\u66e8\u66e9\u66eb\\\xdf-\u66e8\u66e9\u66eb'
+u'\xdf-\u66e8\u66e9\u66eb'
 ['???', '???', '??????', '????????????', '????G\xdf', 'Ge??-sa?', 'Gr\xfc\xdf-Gott', 'abc', 'ascii']
 [u'Gr\xfc\xdf-Gott', u'abc', u'ascii', u'\u0393\u03b5\u03b9\u03ac-\u03c3\u03b1\u03c2', u'\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435', u'\u05d4\u05e9\u05e7\u05e6\u05e5\u05e1', u'\u306b\u307d\u3093', u'\u66e8\u05e9\u3093\u0434\u0393\xdf', u'\u66e8\u66e9\u66eb']
diff --git a/Lib/test/test_pep277.py b/Lib/test/test_pep277.py
index 480fe00..9c4aa05 100644
--- a/Lib/test/test_pep277.py
+++ b/Lib/test/test_pep277.py
@@ -2,9 +2,7 @@
 # open, os.open, os.stat. os.listdir, os.rename, os.remove, os.mkdir, os.chdir, os.rmdir
 import os, unittest
 from test.test_support import TESTFN, TestSkipped, TestFailed, run_suite
-try:
-    from nt import _getfullpathname
-except ImportError:
+if not os.path.supports_unicode_filenames:
     raise TestSkipped, "test works only on NT+"
 
 filenames = [
@@ -24,7 +22,8 @@
     # Don't hide legitimate errors:  if one of these suckers exists, it's
     # an error if we can't remove it.
     if os.path.exists(dirname):
-        for fname in os.listdir(dirname):
+        # must pass unicode to os.listdir() so we get back unicode results.
+        for fname in os.listdir(unicode(dirname)):
             os.unlink(os.path.join(dirname, fname))
         os.rmdir(dirname)
 
@@ -99,7 +98,7 @@
         f = open(filename, 'w')
         f.write((filename + '\n').encode("utf-8"))
         f.close()
-        print repr(_getfullpathname(filename))
+        print repr(filename)
         os.remove(filename)
         os.chdir(oldwd)
         os.rmdir(dirname)
