diff --git a/Distribution/Simple/Build.hs b/Distribution/Simple/Build.hs
index 9db5d295031e8d40eba2ef71fdbead62061d5306..34131cf2e2066e38fcf4228a9eb40715a9af46ac 100644
--- a/Distribution/Simple/Build.hs
+++ b/Distribution/Simple/Build.hs
@@ -192,10 +192,10 @@ buildPathsModule distPref pkg_descr lbi =
 	  "\nlibexecdir = " ++ show flat_libexecdir ++
 	  "\n"++
 	  "\ngetBinDir, getLibDir, getDataDir, getLibexecDir :: IO FilePath\n"++
-	  "getBinDir = return bindir\n"++
-	  "getLibDir = return libdir\n"++
+	  "getBinDir = "++mkGetEnvOr "bindir" "return bindir"++"\n"++
+	  "getLibDir = "++mkGetEnvOr "libdir" "return libdir"++"\n"++
 	  "getDataDir = "++mkGetEnvOr "datadir" "return datadir"++"\n"++
-	  "getLibexecDir = return libexecdir\n" ++
+	  "getLibexecDir = "++mkGetEnvOr "libexecdir" "return libexecdir"++"\n"++
 	  "\n"++
 	  "getDataFileName :: FilePath -> IO FilePath\n"++
 	  "getDataFileName name = do\n"++