make sure split() is called before the encoding
diff --git a/Lib/packaging/compiler/msvc9compiler.py b/Lib/packaging/compiler/msvc9compiler.py
index d304446..39b2e84 100644
--- a/Lib/packaging/compiler/msvc9compiler.py
+++ b/Lib/packaging/compiler/msvc9compiler.py
@@ -356,7 +356,7 @@
             vc_env = query_vcvarsall(VERSION, plat_spec)
 
             # take care to only use strings in the environment.
-            self.__paths = vc_env['path'].encode('mbcs').split(os.pathsep)
+            self.__paths = vc_env['path'].split(os.pathsep).encode('mbcs')
             os.environ['lib'] = vc_env['lib'].encode('mbcs')
             os.environ['include'] = vc_env['include'].encode('mbcs')