diff --git a/hadrian/src/Settings/Builders/Common.hs b/hadrian/src/Settings/Builders/Common.hs
index 54f41055296c2f89190e7899013e19bd2f730737..a011cb0daed2d5e6a01dffd9205e3a72826b3dd1 100644
--- a/hadrian/src/Settings/Builders/Common.hs
+++ b/hadrian/src/Settings/Builders/Common.hs
@@ -24,18 +24,8 @@ cIncludeArgs = do
     path    <- getBuildPath
     incDirs <- getContextData includeDirs
     depDirs <- getContextData depIncludeDirs
-    -- 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
     mconcat [ notStage0 ? arg "-Irts/include"
             , arg $ "-I" ++ path
-            , pure . map ("-I"++) . filter (/= "") $ [iconvIncludeDir, gmpIncludeDir, numaIncludeDir, cursesIncludeDir]
-            , flag UseSystemFfi ? if not (null ffiIncludeDir) then arg ("-I" ++ ffiIncludeDir) else mempty
-            , flag WithLibdw ? if not (null libdwIncludeDir) then arg ("-I" ++ libdwIncludeDir) else mempty
             -- 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 ]