diff --git a/Distribution/Simple/GHC.hs b/Distribution/Simple/GHC.hs
index ae3c292b4692014a3c8357bca33be4c7c0e7a13d..57f0c40be7f319dad05a411bf5115025fb2893ea 100644
--- a/Distribution/Simple/GHC.hs
+++ b/Distribution/Simple/GHC.hs
@@ -208,12 +208,12 @@ build pkg_descr lbi verbose = do
             (baseDir, _)     = splitFileName compilerDir
             ld = baseDir `joinFileName` "gcc-lib\\ld.exe"
             rawSystemLd = rawSystemVerbose
-            maxCommandLineSize = 32 * 1024
+            maxCommandLineSize = 30 * 1024
 #else
             ld = "ld"
             rawSystemLd = rawSystemPath
              --TODO: discover this at configure time on unix
-            maxCommandLineSize = 32 * 1024
+            maxCommandLineSize = 30 * 1024
 #endif
             runLd ld args = do
               exists <- doesFileExist ghciLibName