diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,14 @@
 
 `pandoc-lua-marshal` uses [PVP Versioning][].
 
+## 0.2.6
+
+Released 2024-03-29.
+
+-   Fixed a bug that caused problems with empty Block lists in
+    the `content` attributes of *Div*, *Figure*, and *BlockQuote*
+    elements.
+
 ## 0.2.5
 
 Released 2024-03-04.
diff --git a/pandoc-lua-marshal.cabal b/pandoc-lua-marshal.cabal
--- a/pandoc-lua-marshal.cabal
+++ b/pandoc-lua-marshal.cabal
@@ -1,6 +1,6 @@
 cabal-version:       2.4
 name:                pandoc-lua-marshal
-version:             0.2.5
+version:             0.2.6
 synopsis:            Use pandoc types in Lua
 description:         This package provides functions to marshal and unmarshal
                      pandoc document types to and from Lua.
diff --git a/src/Text/Pandoc/Lua/Marshal/Block.hs b/src/Text/Pandoc/Lua/Marshal/Block.hs
--- a/src/Text/Pandoc/Lua/Marshal/Block.hs
+++ b/src/Text/Pandoc/Lua/Marshal/Block.hs
@@ -294,6 +294,7 @@
            "expected Inlines, got " <> contentTypeDescription c
     blockContent = \case
       ContentBlocks blks   -> blks
+      ContentInlines []    -> []
       ContentInlines inlns -> [Plain inlns]
       c -> throwM . luaException @e $
            "expected Blocks, got " <> contentTypeDescription c
diff --git a/test/test-block.lua b/test/test-block.lua
--- a/test/test-block.lua
+++ b/test/test-block.lua
@@ -120,6 +120,12 @@
           Div('word', {'my-other-div', {'example'}}),
           div
         )
+      end),
+      test('accessing the content does not change the value', function ()
+        local div = Div {}
+        assert.are_equal(div, Div{})
+        x = div.content
+        assert.are_equal(div, Div{})
       end)
     },
     group 'Figure' {
