diff --git a/Storage/Hashed/Index.hs b/Storage/Hashed/Index.hs
--- a/Storage/Hashed/Index.hs
+++ b/Storage/Hashed/Index.hs
@@ -271,9 +271,8 @@
        inferiors <- if want then subs $ start substate
                             else return []
 
-       let we_changed = or [ changed x | (_, x) <- inferiors ] || nullleaf
-           nullleaf = null inferiors && oldhash == nullsha
-           nullsha = SHA256 (BS.replicate 32 0)
+       let we_changed = or [ changed x | (_, x) <- inferiors ] || leaf
+           leaf = null inferiors
            tree' = makeTree [ (n, fromJust $ treeitem s) | (n, s) <- inferiors, isJust $ treeitem s ]
            treehash = we_changed ? (hashtree index tree', oldhash)
            tree = tree' { treeHash = treehash }
diff --git a/hashed-storage.cabal b/hashed-storage.cabal
--- a/hashed-storage.cabal
+++ b/hashed-storage.cabal
@@ -1,5 +1,5 @@
 name:          hashed-storage
-version:       0.4.8
+version:       0.4.9
 synopsis:      Hashed file storage support code.
 
 description:   Support code for reading and manipulating hashed file storage
