diff --git a/CHANGES.txt b/CHANGES.txt
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,5 +1,7 @@
 Changelog for Shake
 
+0.10.10
+    Improve Ninja --lint checking
 0.10.9
     #76, add Ninja specific lint checking
     #75, add orderOnly dependencies
diff --git a/Development/Ninja/All.hs b/Development/Ninja/All.hs
--- a/Development/Ninja/All.hs
+++ b/Development/Ninja/All.hs
@@ -18,6 +18,7 @@
 import qualified Data.HashSet as Set
 import Control.Arrow
 import Control.Monad
+import Data.Maybe
 import Data.List
 import Data.Char
 
@@ -138,9 +139,9 @@
         allDependencies rule = f Set.empty [] [rule]
             where
                 f seen [] [] = []
-                f seen [] (x:xs) = f seen (depsNormal x ++ depsImplicit x ++ depsOrderOnly x) xs
+                f seen [] (x:xs) = f seen (map normalise $ depsNormal x ++ depsImplicit x ++ depsOrderOnly x) xs
                 f seen (x:xs) rest | x `Set.member` seen = f seen xs rest
-                                   | otherwise = x : f (Set.insert x seen) xs ((builds Map.! x) : rest)
+                                   | otherwise = x : f (Set.insert x seen) xs (maybeToList (Map.lookup x builds) ++ rest)
 
 
 applyRspfile :: Env Str Str -> Action a -> Action a
diff --git a/Examples/Ninja/Main.hs b/Examples/Ninja/Main.hs
--- a/Examples/Ninja/Main.hs
+++ b/Examples/Ninja/Main.hs
@@ -49,6 +49,7 @@
     run "-f../../Examples/Ninja/test5.ninja"
     assertExists $ obj "output file"
 
+    writeFile (obj "input") ""
     runFail "-f../../Examples/Ninja/lint.ninja bad --lint" "'needed' file required rebuilding"
     run "-f../../Examples/Ninja/lint.ninja good --lint"
     runFail "-f../../Examples/Ninja/lint.ninja bad --lint" "not a pre-dependency"
diff --git a/Examples/Ninja/lint.ninja b/Examples/Ninja/lint.ninja
--- a/Examples/Ninja/lint.ninja
+++ b/Examples/Ninja/lint.ninja
@@ -9,5 +9,5 @@
 build good: run || good.gen bad.gen
 build good.gen: gen
 
-build bad: run
+build bad: run | input
 build bad.gen: gen
diff --git a/shake.cabal b/shake.cabal
--- a/shake.cabal
+++ b/shake.cabal
@@ -1,7 +1,7 @@
 cabal-version:      >= 1.10
 build-type:         Simple
 name:               shake
-version:            0.10.9
+version:            0.10.10
 license:            BSD3
 license-file:       LICENSE
 category:           Development
