diff --git a/Devel.hs b/Devel.hs
--- a/Devel.hs
+++ b/Devel.hs
@@ -201,7 +201,7 @@
            _ <- recompDeps hsSourceDirs
            list <- liftIO $ getFileList hsSourceDirs [cabal]
            success <- liftIO rebuild
-           pkgArgs <- liftIO ghcPackageArgs
+           pkgArgs <- liftIO (ghcPackageArgs opts)
            let devArgs = pkgArgs ++ ["devel.hs"]
            let loop list0 = do
                    (haskellFileChanged, list1) <- liftIO $
@@ -387,8 +387,8 @@
     where
       getNumber = filter (\x -> isNumber x || x == '.')
 
-ghcPackageArgs :: IO [String]
-ghcPackageArgs = getBuildFlags >>= getPackageArgs
+ghcPackageArgs :: DevelOpts -> IO [String]
+ghcPackageArgs opts = getBuildFlags >>= getPackageArgs (buildDir opts)
 
 lookupDevelLib :: D.GenericPackageDescription -> D.CondTree D.ConfVar c a -> Maybe a
 lookupDevelLib gpd ct | found     = Just (D.condTreeData ct)
diff --git a/GhcBuild.hs b/GhcBuild.hs
--- a/GhcBuild.hs
+++ b/GhcBuild.hs
@@ -26,7 +26,7 @@
 
 import           CmdLineParser
 import           Data.Char          (toLower)
-import           Data.List          (isPrefixOf, partition)
+import           Data.List          (isPrefixOf, isSuffixOf, partition)
 import           Data.Maybe         (fromMaybe)
 import           DriverPhases       (Phase (..), anyHsc, isHaskellSrcFilename,
                                      isSourceFilename, startPhase)
@@ -74,8 +74,8 @@
                  where hsenvArgv = words $ fromMaybe "" (lookup "PACKAGE_DB_FOR_GHC" env)
 
 -- construct a command line for loading the right packages
-getPackageArgs :: [Located String] -> IO [String]
-getPackageArgs argv2 = do
+getPackageArgs :: Maybe String -> [Located String] -> IO [String]
+getPackageArgs buildDir argv2 = do
   (mode, argv3, modeFlagWarnings) <- parseModeFlags argv2
   GHC.runGhc (Just libdir) $ do
     dflags0 <- GHC.getSessionDynFlags
@@ -93,13 +93,27 @@
     convertPkgFlag (DF.TrustPackage p)    = "-trust" ++ p
     convertPkgFlag (DF.DistrustPackage p) ="-distrust" ++ p
 #if __GLASGOW_HASKELL__ >= 705
-    extra df = concatMap convertExtra (extraConfs df)
+    extra df = inplaceConf ++ extra'
+      where
+         extra' = concatMap convertExtra (extraConfs df)
+         -- old cabal-install sometimes misses the .inplace db, fix it here
+         inplaceConf
+           | any (".inplace" `isSuffixOf`) extra' = []
+           | otherwise = ["-package-db" ++ fromMaybe "dist" buildDir
+                           ++ "/package.conf.inplace"]
     extraConfs df = GHC.extraPkgConfs df []
     convertExtra DF.GlobalPkgConf      = [ ]
     convertExtra DF.UserPkgConf        = [ ]
     convertExtra (DF.PkgConfFile file) = [ "-package-db" ++ file ]
 #else
-    extra df = map ("-package-conf"++) (GHC.extraPkgConfs df)
+    extra df  = inplaceConf ++ extra'
+      where
+        extra' = map ("-package-conf"++) (GHC.extraPkgConfs df)
+         -- old cabal-install sometimes misses the .inplace db, fix it here
+        inplaceConf
+          | any (".inplace" `isSuffixOf`) extra' = []
+          | otherwise = ["-package-conf" ++ fromMaybe "dist" buildDir
+                           ++ "/package.conf.inplace"]
 #endif
 
 #if __GLASGOW_HASKELL__ >= 707
diff --git a/yesod.cabal b/yesod.cabal
--- a/yesod.cabal
+++ b/yesod.cabal
@@ -1,5 +1,5 @@
 name:            yesod
-version:         1.1.9.1
+version:         1.1.9.2
 license:         MIT
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
