diff --git a/Git/LsTree.hs b/Git/LsTree.hs
index 031dba0cfb..a2b47da3a0 100644
--- a/Git/LsTree.hs
+++ b/Git/LsTree.hs
@@ -30,7 +30,8 @@ data TreeItem = TreeItem
 	, file :: TopFilePath
 	} deriving Show
 
-{- Lists the complete contents of a tree, with lazy output. -}
+{- Lists the complete contents of a tree, recursing into sub-trees,
+ - with lazy output. -}
 lsTree :: Ref -> Repo -> IO [TreeItem]
 lsTree t repo = map parseLsTree <$> pipeNullSplitZombie ps repo
   where
@@ -40,7 +41,7 @@ lsTree t repo = map parseLsTree <$> pipeNullSplitZombie ps repo
 lsTreeFiles :: Ref -> [FilePath] -> Repo -> IO [TreeItem]
 lsTreeFiles t fs repo = map parseLsTree <$> pipeNullSplitStrict ps repo
   where
-  	ps = [Params "ls-tree -z --", File $ show t] ++ map File fs
+  	ps = [Params "ls-tree --full-tree -z --", File $ show t] ++ map File fs
 
 {- Parses a line of ls-tree output.
  - (The --long format is not currently supported.) -}