Issue #9868: locale was left changed after TestEnUSCollation#setUp raised
TestSkip exception.
diff --git a/Lib/test/test_locale.py b/Lib/test/test_locale.py
index 6cdb67b..e959343 100644
--- a/Lib/test/test_locale.py
+++ b/Lib/test/test_locale.py
@@ -352,13 +352,13 @@
     locale_type = locale.LC_ALL
 
     def setUp(self):
-        BaseLocalizedTest.setUp(self)
         enc = codecs.lookup(locale.getpreferredencoding(False) or 'ascii').name
         if enc not in ('utf-8', 'iso8859-1', 'cp1252'):
             raise unittest.SkipTest('encoding not suitable')
         if enc != 'iso8859-1' and (sys.platform == 'darwin' or
                                    sys.platform.startswith('freebsd')):
             raise unittest.SkipTest('wcscoll/wcsxfrm have known bugs')
+        BaseLocalizedTest.setUp(self)
 
     def test_strcoll_with_diacritic(self):
         self.assertLess(locale.strcoll('à', 'b'), 0)