diff --git a/Cabal/Distribution/Package.hs b/Cabal/Distribution/Package.hs
index cbdbf9e6f6c8a59a10e32de3dd5548c5227e1c6f..cb06e41bcce5626425529c3e057024411e39aae7 100644
--- a/Cabal/Distribution/Package.hs
+++ b/Cabal/Distribution/Package.hs
@@ -24,9 +24,10 @@ module Distribution.Package (
         -- * Installed package identifiers
         InstalledPackageId(..),
 
-        -- * Package keys (used for linker symbols)
+        -- * Package keys (used for linker symbols and library name)
         PackageKey(..),
         mkPackageKey,
+        packageKeyLibraryName,
 
         -- * Package source dependencies
         Dependency(..),
@@ -275,6 +276,10 @@ packageKeyHash :: PackageKey -> String
 packageKeyHash (PackageKey _ w1 w2) = toBase62 w1 ++ toBase62 w2
 packageKeyHash (OldPackageKey pid) = display pid
 
+packageKeyLibraryName :: PackageId -> PackageKey -> String
+packageKeyLibraryName pid (PackageKey _ w1 w2) = display pid ++ "-" ++ toBase62 w1 ++ toBase62 w2
+packageKeyLibraryName _ (OldPackageKey pid) = display pid
+
 instance Text PackageKey where
   disp (PackageKey prefix w1 w2) = Disp.text prefix <> Disp.char '_'
                         <> Disp.text (toBase62 w1) <> Disp.text (toBase62 w2)
diff --git a/Cabal/Distribution/Simple/Configure.hs b/Cabal/Distribution/Simple/Configure.hs
index 191f2ce301c5ed7dce0b540cd05fa96a8e86498f..d410e67d0adb4878889bf04995dbea4bf88ade9f 100644
--- a/Cabal/Distribution/Simple/Configure.hs
+++ b/Cabal/Distribution/Simple/Configure.hs
@@ -61,7 +61,7 @@ import Distribution.Package
     , packageName, packageVersion, Package(..)
     , Dependency(Dependency), simplifyDependency
     , InstalledPackageId(..), thisPackageVersion
-    , mkPackageKey, PackageKey(..) )
+    , mkPackageKey, PackageKey(..), packageKeyLibraryName )
 import qualified Distribution.InstalledPackageInfo as Installed
 import Distribution.InstalledPackageInfo (InstalledPackageInfo, emptyInstalledPackageInfo)
 import qualified Distribution.Simple.PackageIndex as PackageIndex
@@ -1286,7 +1286,7 @@ mkComponentsLocalBuildInfo installedPackages pkg_descr
                                             externalPkgDeps lib
         return LibComponentLocalBuildInfo {
           componentPackageDeps = cpds,
-          componentLibraries   = [LibraryName ("HS" ++ display pkg_key)],
+          componentLibraries   = [ LibraryName ("HS" ++ packageKeyLibraryName (package pkg_descr) pkg_key) ],
           componentPackageRenaming = cprns,
           componentExposedModules = exports ++ reexports ++ esigs
         }