diff --git a/Lib/distutils/tests/test_archive_util.py b/Lib/distutils/tests/test_archive_util.py
index 1c88457..cabb55b 100644
--- a/Lib/distutils/tests/test_archive_util.py
+++ b/Lib/distutils/tests/test_archive_util.py
@@ -3,6 +3,7 @@
 
 import unittest
 import os
+from os.path import splitdrive
 
 from distutils.archive_util import (check_archive_formats, make_tarball,
                                     make_zipfile, make_archive)
@@ -26,13 +27,16 @@
         self.write_file([tmpdir, 'file2'], 'xxx')
 
         tmpdir2 = self.mkdtemp()
+        unittest.skipUnless(splitdrive(tmpdir)[0] == splitdrive(tmpdir2)[0],
+                            "Source and target should be on same drive")
+
         base_name = os.path.join(tmpdir2, 'archive')
 
         # working with relative paths to avoid tar warnings
         old_dir = os.getcwd()
         os.chdir(tmpdir)
         try:
-            make_tarball(base_name, '.')
+            make_tarball(splitdrive(base_name)[1], '.')
         finally:
             os.chdir(old_dir)
 
@@ -45,7 +49,7 @@
         old_dir = os.getcwd()
         os.chdir(tmpdir)
         try:
-            make_tarball(base_name, '.', compress=None)
+            make_tarball(splitdrive(base_name)[1], '.', compress=None)
         finally:
             os.chdir(old_dir)
         tarball = base_name + '.tar'
diff --git a/Lib/distutils/tests/test_dir_util.py b/Lib/distutils/tests/test_dir_util.py
index 9bd6530..6b22f05 100644
--- a/Lib/distutils/tests/test_dir_util.py
+++ b/Lib/distutils/tests/test_dir_util.py
@@ -88,7 +88,7 @@
             self.assertEquals(ensure_relative('/home/foo'), 'home/foo')
             self.assertEquals(ensure_relative('some/path'), 'some/path')
         else:   # \\
-            self.assertEquals(ensure_relative('c:\\home\\foo'), 'home\\foo')
+            self.assertEquals(ensure_relative('c:\\home\\foo'), 'c:home\\foo')
             self.assertEquals(ensure_relative('home\\foo'), 'home\\foo')
 
 def test_suite():
diff --git a/Misc/NEWS b/Misc/NEWS
index 27e4127..eb68760 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -298,6 +298,8 @@
 Library
 -------
 
+- Issue #6053: Fixed distutils tests on win32. patch by Hirokazu Yamamoto.
+
 - Issue #6046: Fixed the library extension when distutils build_ext is used
   inplace. Initial patch by Roumen Petrov.
 
