diff --git a/src/libprs500/ebooks/lrf/html/convert_from.py b/src/libprs500/ebooks/lrf/html/convert_from.py
index c91029af08..9f9203e617 100644
--- a/src/libprs500/ebooks/lrf/html/convert_from.py
+++ b/src/libprs500/ebooks/lrf/html/convert_from.py
@@ -1808,7 +1808,8 @@ def try_opf(path, options, logger):
if not options.cover and orig_cover is not None:
options.cover = orig_cover
options.spine = [i.href for i in opf.spine.items()]
- options.toc = opf.toc
+ if not hasattr(options, 'toc') or options.toc is None:
+ options.toc = opf.toc
except Exception:
logger.exception('Failed to process opf file')