diff --git a/hadrian/src/Settings/Builders/RunTest.hs b/hadrian/src/Settings/Builders/RunTest.hs
index ae676f2c115093899b8a17048574c981897809aa..7f54c0de00417de980d4952924aea71735d4ef3f 100644
--- a/hadrian/src/Settings/Builders/RunTest.hs
+++ b/hadrian/src/Settings/Builders/RunTest.hs
@@ -179,12 +179,12 @@ getTestArgs = do
                            Just verbosity -> Just $ "--verbose=" ++ verbosity
         wayArgs      = map ("--way=" ++) (testWays args)
         compilerArg  = ["--config", "compiler=" ++ show (compiler)]
-        ghcPkgArg    = ["--config", "ghc_pkg=" ++ show (bindir -/- "ghc-pkg")]
+        ghcPkgArg    = ["--config", "ghc_pkg=" ++ show (bindir -/- "ghc-pkg" <.> exe)]
         haddockArg   = if haveDocs
-          then [ "--config", "haddock=" ++ show (bindir -/- "haddock") ]
+          then [ "--config", "haddock=" ++ show (bindir -/- "haddock" <.> exe) ]
           else [ "--config", "haddock=" ]
-        hp2psArg     = ["--config", "hp2ps=" ++ show (bindir -/- "hp2ps")]
-        hpcArg       = ["--config", "hpc=" ++ show (bindir -/- "hpc")]
+        hp2psArg     = ["--config", "hp2ps=" ++ show (bindir -/- "hp2ps" <.> exe)]
+        hpcArg       = ["--config", "hpc=" ++ show (bindir -/- "hpc" <.> exe)]
         inTreeArg    = [ "-e", "config.in_tree_compiler=" ++
           show (testCompiler args `elem` ["stage1", "stage2", "stage3"]) ]