diff --git a/Cabal/src/Distribution/Simple/GHC.hs b/Cabal/src/Distribution/Simple/GHC.hs
index 8d7dda4de34368359d34efb634db804000117b7e..3ce66bb38bca411efc4cb06155185659f15400e3 100644
--- a/Cabal/src/Distribution/Simple/GHC.hs
+++ b/Cabal/src/Distribution/Simple/GHC.hs
@@ -961,7 +961,7 @@ installLib verbosity lbi targetDir dynlibTargetDir _builtDir pkg lib clbi = do
                           mkGenericSharedBundledLibName
                             platform
                             compiler_id
-                            l
+                            (l ++ f)
                     forM_ files $ \file ->
                       when (l' `isPrefixOf` file) $ do
                         isFile <- doesFileExist (i $ builtDir </> makeRelativePathEx file)
@@ -971,6 +971,7 @@ installLib verbosity lbi targetDir dynlibTargetDir _builtDir pkg lib clbi = do
                             dynlibTargetDir
                             file
                   | l <- extraBundledLibs (libBuildInfo lib)
+                  , f <- "" : extraDynLibFlavours (libBuildInfo lib)
                   ]
   where
     -- See Note [Symbolic paths] in Distribution.Utils.Path