diff --git a/Cabal/Distribution/System.hs b/Cabal/Distribution/System.hs
index a18e491a98385a9aa8d8024620130d8946d1e8d0..6ab43a6704a58b6f87183e4e3981a37616046fb8 100644
--- a/Cabal/Distribution/System.hs
+++ b/Cabal/Distribution/System.hs
@@ -84,12 +84,14 @@ knownOSs = [Linux, Windows, OSX
            ,IOS]
 
 osAliases :: ClassificationStrictness -> OS -> [String]
-osAliases Permissive Windows = ["mingw32", "cygwin32"]
+osAliases Permissive Windows = ["mingw32", "win32", "cygwin32"]
 osAliases Compat     Windows = ["mingw32", "win32"]
 osAliases _          OSX     = ["darwin"]
 osAliases _          IOS     = ["ios"]
 osAliases Permissive FreeBSD = ["kfreebsdgnu"]
+osAliases Compat     FreeBSD = ["kfreebsdgnu"]
 osAliases Permissive Solaris = ["solaris2"]
+osAliases Compat     Solaris = ["solaris2"]
 osAliases _          _       = []
 
 instance Text OS where