diff --git a/src/libprs500/ebooks/lrf/html/convert_from.py b/src/libprs500/ebooks/lrf/html/convert_from.py
index 85abbe77de..eb14224b0e 100644
--- a/src/libprs500/ebooks/lrf/html/convert_from.py
+++ b/src/libprs500/ebooks/lrf/html/convert_from.py
@@ -491,8 +491,9 @@ class HTMLConverter(object):
self.current_page = None
if not top.has_text() and top.parent.contents.index(top) == len(top.parent.contents)-1:
- top.parent.contents.remove(top)
+ # Empty block at the bottom of a page
opage = top.parent
+ top.parent.contents.remove(top)
if self.book.last_page() is opage:
if self.current_page and self.current_page.has_text():
for c in self.current_page.contents:
@@ -599,7 +600,7 @@ class HTMLConverter(object):
while len(self.links) > 0:
link = self.links.popleft()
para, text, path, fragment = link['para'], link['text'], link['path'], link['fragment']
- ascii_text = text.encode('ascii', 'ignore') # Needed for TOC entries due to bug in SONY LRF renderer
+ ascii_text = text.encode('ascii', 'replace') # Needed for TOC entries due to bug in SONY LRF renderer
if path in self.processed_files:
if path+fragment in self.targets.keys():
@@ -625,7 +626,7 @@ class HTMLConverter(object):
def create_toc(self, toc):
for item in toc.top_level_items():
- ascii_text = item.text.encode('ascii', 'ignore') # Bug in SONY LRF renderer
+ ascii_text = item.text.encode('ascii', 'replace') # Bug in SONY LRF renderer
if not item.fragment and item.abspath in self.tops:
self.book.addTocEntry(ascii_text, self.tops[item.abspath])
else: