diff --git a/src/Text/Pandoc/Shared.hs b/src/Text/Pandoc/Shared.hs
index 7bd35b138..648086fd4 100644
--- a/src/Text/Pandoc/Shared.hs
+++ b/src/Text/Pandoc/Shared.hs
@@ -60,6 +60,7 @@ module Text.Pandoc.Shared (
                      uniqueIdent,
                      isHeaderBlock,
                      headerShift,
+                     isTightList,
                      -- * TagSoup HTML handling
                      renderTags',
                      -- * File handling
@@ -475,6 +476,12 @@ headerShift n = bottomUp shift
         shift (Header level inner) = Header (level + n) inner
         shift x                    = x
 
+-- | Detect if a list is tight.
+isTightList :: [[Block]] -> Bool
+isTightList = and . map firstIsPlain
+  where firstIsPlain (Plain _ : _) = True
+        firstIsPlain _             = False
+
 --
 -- TagSoup HTML handling
 --