diff --git a/Kit/Dependency.hs b/Kit/Dependency.hs
--- a/Kit/Dependency.hs
+++ b/Kit/Dependency.hs
@@ -42,9 +42,16 @@
 dependencyTree :: KitRepository -> WorkingCopy -> KitIO (Tree Dependency)
 dependencyTree repo workingCopy = unfoldTreeM (unfoldDeps repo workingCopy) (workingKitSpec workingCopy)
 
+lookupDependency :: [(KitSpec, FilePath)] -> KitSpec -> Dependency
+lookupDependency devPackages ks = maybe (Dependency ks Repo) (\(ks',fp) -> Dependency ks' (Dev fp)) thisDev
+    where thisDev = find ((packageName ks ==) . packageName . fst) devPackages
+
+findKitSpec :: [(KitSpec, FilePath)] -> Kit -> Maybe KitSpec
+findKitSpec devPackages kit = fmap fst $ find (\(spec, _) -> packageName spec == packageName kit) devPackages
+
 unfoldDeps :: KitRepository -> WorkingCopy -> KitSpec -> KitIO (Dependency, [KitSpec])
-unfoldDeps kr wc ks = let devPackages = workingDevPackages wc 
-                          thisDev = find ((packageName ks ==) . packageName . fst) devPackages
-                          theDep = maybe (Dependency ks Repo) (\(ks',fp) -> Dependency ks' (Dev fp)) thisDev
-                       in (theDep,) <$> mapM (readKitSpec kr) (specDependencies $ depSpec theDep) 
+unfoldDeps kr wc ks = let devPackages = workingDevPackages wc
+                          theDep = lookupDependency devPackages ks
+                          readKitSpec' kit = maybe (readKitSpec kr kit) return (findKitSpec devPackages kit)
+                       in (theDep,) <$> mapM readKitSpec' (specDependencies $ depSpec theDep) 
 
diff --git a/Kit/Util.hs b/Kit/Util.hs
--- a/Kit/Util.hs
+++ b/Kit/Util.hs
@@ -93,7 +93,7 @@
   stringJoin :: Monoid a => a -> [a] -> a
   stringJoin x = mconcat . intersperse x
   
-  -- | Lifting bind into a monad. Often denoted /concatMapM/.
+  -- | Lifting bind into a monad. Often denoted /concatMapM/. From TM
   (.=<<.) ::
     (Monad q, Monad m, Traversable m) =>
     (a -> q (m b))
@@ -102,7 +102,6 @@
   (.=<<.) f =
     liftM join . T.mapM f
     
-  
   say :: MonadIO m => Color -> String -> m ()
   say color msg = do
     liftIO $ setSGR [SetColor Foreground Vivid color]
diff --git a/Kit/WorkingCopy.hs b/Kit/WorkingCopy.hs
--- a/Kit/WorkingCopy.hs
+++ b/Kit/WorkingCopy.hs
@@ -38,8 +38,7 @@
 readSpec path = checkExists path >>= liftIO . BS.readFile >>= ErrorT . return . parses
   where checkExists pathToSpec = do
           doesExist <- liftIO $ doesFileExist pathToSpec 
-          if doesExist 
+          if doesExist
             then return pathToSpec 
             else throwError ("Couldn't find the spec at " ++ pathToSpec)
         parses = maybeToRight "Parse error in KitSpec file" . decodeSpec
-
diff --git a/kit.cabal b/kit.cabal
--- a/kit.cabal
+++ b/kit.cabal
@@ -1,5 +1,5 @@
 name:           kit
-version:        0.7.5
+version:        0.7.6
 cabal-version:  >=1.6
 build-type:     Simple
 license:        BSD3
