diff --git a/Omega.cabal b/Omega.cabal
--- a/Omega.cabal
+++ b/Omega.cabal
@@ -1,6 +1,6 @@
+Cabal-Version:		>= 1.2.3 && < 1.8
 Name:			Omega
-Version:		0.1.2
-Cabal-Version:		>= 1.2.3
+Version:		0.1.3
 Build-Type:		Custom
 License:		BSD3
 License-File:		LICENSE
diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -31,7 +31,6 @@
 
 writeUseInstalledOmegaFlag :: Bool -> IO ()
 writeUseInstalledOmegaFlag b = do
-  createDirectoryIfMissing False "build"
   writeFile useInstalledOmegaFlagPath (show b)
 
 readUseInstalledOmegaFlag :: IO Bool
@@ -182,8 +181,10 @@
 transferArFiles verb runAr src dst = do
   srcCan <- canonicalizePath src
   dstCan <- canonicalizePath dst
-  withTempDirectory verb omegaUnpackPath $
 
+  -- Create/remove a temporary directory
+  bracket createUnpackDirectory (\_ -> removeUnpackDirectory) $ \_ ->
+
     -- Save/restore the current working directory
     bracket getCurrentDirectory setCurrentDirectory $ \_ -> do
 
@@ -201,6 +202,9 @@
       runAr (["r", dstCan] ++ objs)
     where
       isObjectFile f = takeExtension f == ".o"
+
+      createUnpackDirectory = createDirectoryIfMissing True omegaUnpackPath
+      removeUnpackDirectory = removeDirectoryRecursive omegaUnpackPath
 
 -------------------------------------------------------------------------------
 -- Cleaning
