diff --git a/src/Text/Pandoc/Writers/Shared.hs b/src/Text/Pandoc/Writers/Shared.hs
index 0161db506..6018b4294 100644
--- a/src/Text/Pandoc/Writers/Shared.hs
+++ b/src/Text/Pandoc/Writers/Shared.hs
@@ -407,9 +407,9 @@ toTableOfContents opts bs =
 sectionToListItem :: WriterOptions -> Block -> [Block]
 sectionToListItem opts (Div (ident,_,_)
                          (Header lev (_,classes,kvs) ils : subsecs))
-  | not (isNothing (lookup "number" kvs) && "unlisted" `elem` classes)
-  = Plain headerLink : [BulletList listContents | not (null listContents)
-                                              , lev < writerTOCDepth opts]
+  | lev <= writerTOCDepth opts
+  , not (isNothing (lookup "number" kvs) && "unlisted" `elem` classes)
+  = Plain headerLink : [BulletList listContents | not (null listContents)]
  where
    num = fromMaybe "" $ lookup "number" kvs
    addNumber  = if T.null num
diff --git a/test/command/5967.md b/test/command/5967.md
new file mode 100644
index 000000000..9bb802d40
--- /dev/null
+++ b/test/command/5967.md
@@ -0,0 +1,15 @@
+```
+% pandoc --toc --toc-depth=3 -s -t plain
+# One
+## Two
+#### Four
+^D
+-   One
+    -   Two
+
+One
+
+Two
+
+Four
+```