diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py
index c39bd72..eb4cb05 100644
--- a/Lib/distutils/command/build_ext.py
+++ b/Lib/distutils/command/build_ext.py
@@ -636,7 +636,8 @@
             base = modpath[-1]
             build_py = self.get_finalized_command('build_py')
             package_dir = os.path.abspath(build_py.get_package_dir(package))
-            return os.path.join(package_dir, base)
+            filename = self.get_ext_filename(ext_name)
+            return os.path.join(package_dir, filename)
         else:
             filename = self.get_ext_filename(ext_name)
             return os.path.join(self.build_lib, filename)
diff --git a/Lib/distutils/tests/test_build_ext.py b/Lib/distutils/tests/test_build_ext.py
index 764aa72..add2923 100644
--- a/Lib/distutils/tests/test_build_ext.py
+++ b/Lib/distutils/tests/test_build_ext.py
@@ -20,12 +20,6 @@
 # Don't load the xx module more than once.
 ALREADY_TESTED = False
 
-if sys.platform != 'win32':
-    UNDER_MSVC8 = False
-else:
-    from distutils.msvccompiler import get_build_version
-    UNDER_MSVC8 = get_build_version() < 8.0
-
 def _get_source_filename():
     srcdir = sysconfig.get_config_var('srcdir')
     return os.path.join(srcdir, 'Modules', 'xxmodule.c')
@@ -299,7 +293,6 @@
         cmd.run()
         self.assertEquals(cmd.compiler, 'unix')
 
-    @unittest.skipIf(UNDER_MSVC8, 'not running this test for MSVC < 8')
     def test_get_outputs(self):
         tmp_dir = self.mkdtemp()
         c_file = os.path.join(tmp_dir, 'foo.c')
@@ -329,6 +322,8 @@
         finally:
             os.chdir(old_wd)
         self.assert_(os.path.exists(so_file))
+        self.assertEquals(os.path.splitext(so_file)[-1],
+                          sysconfig.get_config_var('SO'))
         so_dir = os.path.dirname(so_file)
         self.assertEquals(so_dir, other_tmp_dir)
 
@@ -336,6 +331,8 @@
         cmd.run()
         so_file = cmd.get_outputs()[0]
         self.assert_(os.path.exists(so_file))
+        self.assertEquals(os.path.splitext(so_file)[-1],
+                          sysconfig.get_config_var('SO'))
         so_dir = os.path.dirname(so_file)
         self.assertEquals(so_dir, cmd.build_lib)
 
diff --git a/Misc/NEWS b/Misc/NEWS
index bf4a0dd..87e471e 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -618,6 +618,9 @@
 Library
 -------
 
+- Issue #6046: Fixed the library extension when distutils build_ext is used
+  inplace. Initial patch by Roumen Petrov.
+
 - Issue #6041: Now distutils `sdist` and `register` commands use `check` as a 
   subcommand.
 
