diff --git a/shake/runner/Main.hs b/shake/runner/Main.hs
index 52b3395fa32acdb36f59a4d77604d2c78af9c9e7..ddb809261877d62d9ca4f018f2767e07c0fc515e 100644
--- a/shake/runner/Main.hs
+++ b/shake/runner/Main.hs
@@ -242,7 +242,7 @@ buildRules nofib@Build{..} = do
     -- .stamp file per build directory.
     buildDepsStamp %> \out -> do
         configs <- mapM (getTestConfig nofib) tests
-        let deps = nub $ foldMap (\config -> words $ config "SRC_DEPS") configs
+        let deps = nub $ ["base"] ++ foldMap (\config -> words $ config "SRC_DEPS") configs
         -- TODO: Invoking cabal in the way we do without any package argument fails.
         root <- liftIO $ IO.makeAbsolute buildDepsRoot
         unless (null deps) $ withResource pkgDbResource 1 $
@@ -611,7 +611,7 @@ getTestCompileArgs nofib test = do
     config <- getTestConfig nofib test
     return $ defaultNoFibHcOpts
          ++ words (config "SRC_HC_OPTS")
-         ++ [ "-package-env", "-" ]
+         ++ [ "-package-env", "-", "-package", "base"]
          ++ concat [ ["-package", pkg] | pkg <- words (config "SRC_DEPS") ]
 
 getModeArgs :: (String -> String) -> Speed -> [String]