diff --git a/Distribution/Simple/Configure.hs b/Distribution/Simple/Configure.hs
index d5fb0d0dbefabffd427882303c31b93881e63c96..a6ea84fd5649139f9e9aad78232e6c51a472ef6d 100644
--- a/Distribution/Simple/Configure.hs
+++ b/Distribution/Simple/Configure.hs
@@ -271,7 +271,7 @@ configure (pkg_descr0, pbi) cfg
 		dataSubdirTemplate = maybeDefault configDataSubDir dataSubdirTemplate,
 		docDirTemplate     = maybeDefault configDocDir     docDirTemplate,
 		htmlDirTemplate    = maybeDefault configHtmlDir    htmlDirTemplate,
-                interfaceDirTemplate = maybeDefault configInterfaceDir interfaceDirTemplate
+                haddockDirTemplate = maybeDefault configHaddockDir haddockDirTemplate
 	      }
 
         -- check extensions
diff --git a/Distribution/Simple/Install.hs b/Distribution/Simple/Install.hs
index 5c08e75ddb6eeddf2c2fcf89ba3fc96f50a6633c..9bc3d6829dcb91abd364c9cd740350f97b81f34b 100644
--- a/Distribution/Simple/Install.hs
+++ b/Distribution/Simple/Install.hs
@@ -108,7 +108,7 @@ install pkg_descr lbi (CopyFlags copydest verbosity) = do
          progdir    = progPref,
          docdir     = docPref,
          htmldir    = htmlPref,
-         interfacedir = interfacePref,
+         haddockdir = interfacePref,
          includedir = incPref
       } = absoluteInstallDirs pkg_descr lbi copydest
   docExists <- doesDirectoryExist $ haddockPref pkg_descr
diff --git a/Distribution/Simple/InstallDirs.hs b/Distribution/Simple/InstallDirs.hs
index f592a999869c112137c81fa6767ed3aef971362d..8d2b5af53e6c88a8406c5535996e097b0f10eeb2 100644
--- a/Distribution/Simple/InstallDirs.hs
+++ b/Distribution/Simple/InstallDirs.hs
@@ -52,7 +52,7 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -}
 
 module Distribution.Simple.InstallDirs (
-        InstallDirs(..), haddockdir, haddockinterfacedir,
+        InstallDirs(..),
         InstallDirTemplates(..),
         defaultInstallDirs,
         absoluteInstallDirs,
@@ -110,7 +110,7 @@ data InstallDirs dir = InstallDirs {
         docdir       :: dir,
 	mandir       :: dir,
         htmldir      :: dir,
-        interfacedir :: dir
+        haddockdir   :: dir
     } deriving (Read, Show)
 
 -- | The installation dirctories in terms of 'PathTemplate's that contain
@@ -148,7 +148,7 @@ data InstallDirTemplates = InstallDirTemplates {
         docDirTemplate       :: PathTemplate,
         manDirTemplate       :: PathTemplate,
         htmlDirTemplate      :: PathTemplate,
-        interfaceDirTemplate :: PathTemplate
+        haddockDirTemplate   :: PathTemplate
     } deriving (Read, Show)
 
 -- ---------------------------------------------------------------------------
@@ -183,7 +183,7 @@ defaultInstallDirs comp hasLibs = do
 	_other    -> "$datadir" </> "doc" </> "$pkgid"
       manDir       = "$datadir" </> "man"
       htmlDir      = "$docdir"  </> "html"
-      interfaceDir = "$docdir"  </> "html"
+      haddockDir   = "$htmldir"
   return InstallDirTemplates {
       prefixDirTemplate    = toPathTemplate prefixDir,
       binDirTemplate       = toPathTemplate binDir,
@@ -197,17 +197,9 @@ defaultInstallDirs comp hasLibs = do
       docDirTemplate       = toPathTemplate docDir,
       manDirTemplate       = toPathTemplate manDir,
       htmlDirTemplate      = toPathTemplate htmlDir,
-      interfaceDirTemplate = toPathTemplate interfaceDir
+      haddockDirTemplate   = toPathTemplate haddockDir
     }
 
-haddockdir :: InstallDirs FilePath -> PackageDescription -> FilePath
-haddockdir installDirs pkg_descr =
-  htmldir installDirs
-
-haddockinterfacedir :: InstallDirs FilePath -> PackageDescription -> FilePath
-haddockinterfacedir installDirs pkg_descr =
-  interfacedir installDirs
-
 -- ---------------------------------------------------------------------------
 -- Converting directories, absolute or prefix-relative
 
@@ -244,8 +236,9 @@ substituteTemplates pkgId compilerId dirs = dirs'
                              ++ [dataDirVar],
       htmlDirTemplate    = subst htmlDirTemplate  $ prefixBinLibVars
                              ++ [dataDirVar, dataSubdirVar, docDirVar],
-      interfaceDirTemplate = subst interfaceDirTemplate  $ prefixBinLibVars
-                             ++ [dataDirVar, dataSubdirVar, docDirVar]
+      haddockDirTemplate = subst haddockDirTemplate  $ prefixBinLibVars
+                             ++ [dataDirVar, dataSubdirVar,
+			         docDirVar, htmlDirVar]
     }
     -- The initial environment has all the static stuff but no paths
     env = initialPathTemplateEnv pkgId compilerId
@@ -258,6 +251,7 @@ substituteTemplates pkgId compilerId dirs = dirs'
     dataDirVar       = (DataDirVar,    dataDirTemplate    dirs')
     dataSubdirVar    = (DataSubdirVar, dataSubdirTemplate dirs')
     docDirVar        = (DocDirVar,     docDirTemplate     dirs')
+    htmlDirVar       = (HtmlDirVar,    htmlDirTemplate    dirs')
     prefixBinLibVars = [prefixDirVar, binDirVar, libDirVar, libSubdirVar]
 
 -- | Convert from abstract install directories to actual absolute ones by
@@ -278,7 +272,7 @@ absoluteInstallDirs pkgId compilerId copydest dirs =
     docdir       = copy $ path docDirTemplate,
     mandir       = copy $ path manDirTemplate,
     htmldir      = copy $ path htmlDirTemplate,
-    interfacedir = copy $ path interfaceDirTemplate
+    haddockdir   = copy $ path haddockDirTemplate
   }
   where
     dirs' = substituteTemplates pkgId compilerId dirs {
@@ -314,7 +308,7 @@ prefixRelativeInstallDirs pkgId compilerId dirs =
     datadir      = (flip fmap) (relative dataDirTemplate) (</> path dataSubdirTemplate),
     docdir       = relative docDirTemplate,
     htmldir      = relative htmlDirTemplate,
-    interfacedir = relative interfaceDirTemplate
+    haddockdir   = relative haddockDirTemplate
   }
   where
     -- substitute the path template into each other, except that we map
@@ -353,6 +347,7 @@ data PathTemplateVariable =
      | DataDirVar    -- ^ The @$datadir@ path variable
      | DataSubdirVar -- ^ The @$datasubdir@ path variable
      | DocDirVar     -- ^ The @$docdir@ path variable
+     | HtmlDirVar    -- ^ The @$htmldir@ path variable
      | PkgNameVar    -- ^ The @$pkg@ package name path variable
      | PkgVerVar     -- ^ The @$version@ package version path variable
      | PkgIdVar      -- ^ The @$pkgid@ package Id path variable, eg @foo-1.0@
@@ -407,6 +402,7 @@ instance Show PathTemplateVariable where
   show DataDirVar    = "datadir"
   show DataSubdirVar = "datasubdir"
   show DocDirVar     = "docdir"
+  show HtmlDirVar    = "htmldir"
   show PkgNameVar    = "pkg"
   show PkgVerVar     = "version"
   show PkgIdVar      = "pkgid"
@@ -425,6 +421,7 @@ instance Read PathTemplateVariable where
 	         ,("datadir",    DataDirVar)
 	         ,("datasubdir", DataSubdirVar)
 	         ,("docdir",     DocDirVar)
+		 ,("htmldir",    HtmlDirVar)
 	         ,("pkgid",      PkgIdVar)
 	         ,("pkg",        PkgNameVar)
 	         ,("version",    PkgVerVar)
diff --git a/Distribution/Simple/Register.hs b/Distribution/Simple/Register.hs
index db2fa06f591717b949bc489ab95eadb17b23f8a3..79520ad7a931466a5e86658ed8fe732d46b7abc1 100644
--- a/Distribution/Simple/Register.hs
+++ b/Distribution/Simple/Register.hs
@@ -63,7 +63,6 @@ module Distribution.Simple.Register (
 
 import Distribution.Simple.LocalBuildInfo (LocalBuildInfo(..), distPref,
                                            InstallDirs(..),
-                                           haddockinterfacedir, haddockdir,
                                            InstallDirTemplates(..),
 					   absoluteInstallDirs, toPathTemplate)
 import Distribution.Simple.Compiler (CompilerFlavor(..), Compiler(..),
@@ -272,18 +271,18 @@ mkInstalledPackageInfo pkg_descr lbi inplace = do
                           dataSubdirTemplate = toPathTemplate distPref,
                           docDirTemplate     = toPathTemplate (pwd </> distPref </> "doc"),
                           htmlDirTemplate    = toPathTemplate (pwd </> distPref </> "doc" </> "html" </> pkgName (package pkg_descr)),
-                          interfaceDirTemplate = toPathTemplate (pwd </> distPref </> "doc" </> "html" </> pkgName (package pkg_descr))
+                          haddockDirTemplate = toPathTemplate (pwd </> distPref </> "doc" </> "html" </> pkgName (package pkg_descr))
                         }
                       } NoCopyDest
         (absinc,relinc) = partition isAbsolute (includeDirs bi)
         installIncludeDir | null (installIncludes bi) = []
                           | otherwise = [includedir installDirs]
         haddockInterfaceDir
-         | inplace   = haddockinterfacedir inplaceDirs pkg_descr
-         | otherwise = haddockinterfacedir installDirs pkg_descr
-        haddockDir
-         | inplace   = haddockdir inplaceDirs pkg_descr
-         | otherwise = haddockdir installDirs pkg_descr
+         | inplace   = haddockdir inplaceDirs
+         | otherwise = haddockdir installDirs
+        haddockHtmlDir
+         | inplace   = htmldir inplaceDirs
+         | otherwise = htmldir installDirs
         libraryDir
          | inplace   = build_dir
          | otherwise = libdir installDirs
@@ -317,7 +316,7 @@ mkInstalledPackageInfo pkg_descr lbi inplace = do
         IPI.frameworkDirs     = [],
         IPI.frameworks        = frameworks bi,
 	IPI.haddockInterfaces = [haddockInterfaceDir </> haddockName pkg_descr],
-	IPI.haddockHTMLs      = [haddockDir]
+	IPI.haddockHTMLs      = [haddockHtmlDir]
         }
 
 -- -----------------------------------------------------------------------------
diff --git a/Distribution/Simple/Setup.hs b/Distribution/Simple/Setup.hs
index 1883be0dc87e0970f10f70a6ebee43cfe3dd1e08..44f82dc41539b1fa14c1e472f743adf7a34e9729 100644
--- a/Distribution/Simple/Setup.hs
+++ b/Distribution/Simple/Setup.hs
@@ -125,7 +125,7 @@ data ConfigFlags = ConfigFlags {
 		-- ^installation dir for documentation
 	configHtmlDir   :: Maybe FilePath,
 		-- ^installation dir for HTML documentation
-	configInterfaceDir :: Maybe FilePath,
+	configHaddockDir :: Maybe FilePath,
 		-- ^installation dir for haddock interfaces
         configScratchDir :: Maybe FilePath,
 
@@ -160,7 +160,7 @@ emptyConfigFlags progConf = ConfigFlags {
 	configDataSubDir = Nothing,
 	configDocDir = Nothing,
 	configHtmlDir = Nothing,
-	configInterfaceDir = Nothing,
+	configHaddockDir = Nothing,
         configScratchDir = Nothing,
         configVerbose  = normal,
 	configPackageDB = GlobalPackageDB,
@@ -375,9 +375,9 @@ configureCommand progConf = makeCommand name shortDesc longDesc emptyFlags optio
 	 "installation directory for HTML documentation"
          (reqArg "DIR" $ \path flags -> flags { configHtmlDir = Just path })
 
-      ,option "" ["interfacedir"]
+      ,option "" ["haddockdir"]
 	 "installation directory for haddock interfaces"
-         (reqArg "DIR" $ \path flags -> flags { configInterfaceDir = Just path })
+         (reqArg "DIR" $ \path flags -> flags { configHaddockDir = Just path })
 
       ,option "b" ["scratchdir"]
          "directory to receive the built package [dist/scratch]"