diff --git a/src/calibre/ebooks/docx/writer/from_html.py b/src/calibre/ebooks/docx/writer/from_html.py index 2e645fce6a..5ed0467c8d 100644 --- a/src/calibre/ebooks/docx/writer/from_html.py +++ b/src/calibre/ebooks/docx/writer/from_html.py @@ -576,11 +576,12 @@ class Convert(object): else: text = html_tag.text is_list_item = tagname == 'li' - if text and is_list_item and not text.strip(): + has_sublist = is_list_item and len(html_tag) and barename(html_tag[0].tag) in ('ul', 'ol') and len(html_tag[0]) + if text and has_sublist and not text.strip(): text = '' # whitespace only, ignore if text: block.add_text(text, tag_style, ignore_leading_whitespace=True, is_parent_style=True, link=self.current_link, lang=self.current_lang) - elif is_list_item and len(html_tag) and barename(html_tag[0].tag) in ('ul', 'ol') and len(html_tag[0]): + elif has_sublist: block.force_not_empty = True def add_inline_tag(self, tagname, html_tag, tag_style, stylizer):