diff --git a/Lib/test/test_macpath.py b/Lib/test/test_macpath.py
index 81374d1..24d8bb2 100644
--- a/Lib/test/test_macpath.py
+++ b/Lib/test/test_macpath.py
@@ -1,4 +1,5 @@
 import os
+import sys
 import macpath
 from test import test_support
 import unittest
@@ -12,7 +13,13 @@
         # Issue 3426: check that abspath retuns unicode when the arg is unicode
         # and str when it's str, with both ASCII and non-ASCII cwds
         saved_cwd = os.getcwd()
-        for cwd in (u'cwd', u'\xe7w\xf0'):
+        cwds = ['cwd']
+        try:
+            cwds.append(u'\xe7w\xf0'.encode(sys.getfilesystemencoding()
+                                            or 'ascii'))
+        except UnicodeEncodeError:
+            pass # the cwd can't be encoded -- test with ascii cwd only
+        for cwd in cwds:
             try:
                 os.mkdir(cwd)
                 os.chdir(cwd)
diff --git a/Lib/test/test_posixpath.py b/Lib/test/test_posixpath.py
index ef3429f..4cdf551 100644
--- a/Lib/test/test_posixpath.py
+++ b/Lib/test/test_posixpath.py
@@ -1,7 +1,7 @@
 import unittest
 from test import test_support
 
-import posixpath, os
+import posixpath, os, sys
 from posixpath import realpath, abspath, dirname, basename
 
 # An absolute path to a temporary filename for testing. We can't rely on TESTFN
@@ -393,7 +393,13 @@
         # Issue 3426: check that abspath retuns unicode when the arg is unicode
         # and str when it's str, with both ASCII and non-ASCII cwds
         saved_cwd = os.getcwd()
-        for cwd in (u'cwd', u'\xe7w\xf0'):
+        cwds = ['cwd']
+        try:
+            cwds.append(u'\xe7w\xf0'.encode(sys.getfilesystemencoding()
+                                            or 'ascii'))
+        except UnicodeEncodeError:
+            pass # the cwd can't be encoded -- test with ascii cwd only
+        for cwd in cwds:
             try:
                 os.mkdir(cwd)
                 os.chdir(cwd)
