diff --git a/Cabal/Distribution/System.hs b/Cabal/Distribution/System.hs
index d10835b620c178517e4a486c2a0dbb1a18bc51a0..2ada6c185effd725e7013f7fe3a3c5aaf883454a 100644
--- a/Cabal/Distribution/System.hs
+++ b/Cabal/Distribution/System.hs
@@ -225,10 +225,10 @@ platformFromTriple triple =
   fmap fst (listToMaybe $ Parse.readP_to_S parseTriple triple)
   where parseWord = Parse.munch1 (\c -> Char.isAlphaNum c || c == '_')
         parseTriple = do
-          arch <- fmap (classifyArch Strict) parseWord
+          arch <- fmap (classifyArch Permissive) parseWord
           _ <- Parse.char '-'
           _ <- parseWord -- Skip vendor
           _ <- Parse.char '-'
-          os <- fmap (classifyOS Compat) ident -- OS may have hyphens, like
+          os <- fmap (classifyOS Permissive) ident -- OS may have hyphens, like
                                                -- 'nto-qnx'
           return $ Platform arch os