diff --git a/hadrian/src/Settings/Builders/Common.hs b/hadrian/src/Settings/Builders/Common.hs
index 47e3a7db997ff5c98df766ec38889d9b8bc3b07a..1ea4082502a5c05ced0a2742d6cea5518e0f8f82 100644
--- a/hadrian/src/Settings/Builders/Common.hs
+++ b/hadrian/src/Settings/Builders/Common.hs
@@ -26,20 +26,10 @@ cIncludeArgs = do
     incDirs <- getContextData includeDirs
     depDirs <- getContextData depIncludeDirs
     stage <- getStage
-    -- TODO: Why is any of this necessary? We should have already told Cabal about these paths.
-    iconvIncludeDir  <- getSetting IconvIncludeDir
-    gmpIncludeDir    <- getSetting GmpIncludeDir
-    ffiIncludeDir    <- getSetting FfiIncludeDir
-    libdwIncludeDir  <- getSetting LibdwIncludeDir
-    numaIncludeDir   <- getSetting LibnumaIncludeDir
-    cursesIncludeDir <- getSetting CursesIncludeDir
     libPath <- expr $ stageLibPath stage
     mconcat [ notStage0 ||^ package compiler ? arg "-Iincludes"
             , arg $ "-I" ++ libPath
             , arg $ "-I" ++ path
-            , pure . map ("-I"++) . filter (/= "") $ [iconvIncludeDir, gmpIncludeDir, numaIncludeDir, cursesIncludeDir]
-            , flag UseSystemFfi ? not (null ffiIncludeDir) ? arg ("-I" ++ ffiIncludeDir)
-            , flag WithLibdw ? not (null libdwIncludeDir) ? arg ("-I" ++ libdwIncludeDir)
             -- Add @incDirs@ in the build directory, since some files generated
             -- with @autoconf@ may end up in the build directory.
             , pure [ "-I" ++ path        -/- dir | dir <- incDirs ]