diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py
index 727b00e..443d2b9 100644
--- a/Lib/test/test_os.py
+++ b/Lib/test/test_os.py
@@ -369,15 +369,17 @@
 
     def setUp(self):
         self.__save = dict(os.environ)
-        self.__saveb = dict(os.environb)
+        if os.name not in ('os2', 'nt'):
+            self.__saveb = dict(os.environb)
         for key, value in self._reference().items():
             os.environ[key] = value
 
     def tearDown(self):
         os.environ.clear()
         os.environ.update(self.__save)
-        os.environb.clear()
-        os.environb.update(self.__saveb)
+        if os.name not in ('os2', 'nt'):
+            os.environb.clear()
+            os.environb.update(self.__saveb)
 
     def _reference(self):
         return {"KEY1":"VALUE1", "KEY2":"VALUE2", "KEY3":"VALUE3"}
