diff --git a/src/libprs500/ebooks/lrf/html/convert_from.py b/src/libprs500/ebooks/lrf/html/convert_from.py
index 055422aec5..039149d6a5 100644
--- a/src/libprs500/ebooks/lrf/html/convert_from.py
+++ b/src/libprs500/ebooks/lrf/html/convert_from.py
@@ -250,7 +250,6 @@ class HTMLConverter(object):
paths = [os.path.abspath(path) for path in paths]
-
while len(paths) > 0 and self.link_level <= self.link_levels:
for path in paths:
if path in self.processed_files:
@@ -346,7 +345,9 @@ class HTMLConverter(object):
self.file_name = os.path.basename(path)
self.logger.info('Processing %s', path if self.verbose else self.file_name)
- upath = path.encode('utf-8') if isinstance(path, unicode) else path
+ upath = path.encode('utf-8') if isinstance(path, unicode) else path
+ if not os.path.exists(upath):
+ upath = upath.replace('&', '%26') #convertlit replaces & with %26 in file names
raw = open(upath, 'rb').read()
soup = self.preprocess(raw)
self.logger.info('\tConverting to BBeB...')
diff --git a/src/libprs500/ebooks/lrf/lit/convert_from.py b/src/libprs500/ebooks/lrf/lit/convert_from.py
index 7e7ddcf0af..fe29cd2740 100644
--- a/src/libprs500/ebooks/lrf/lit/convert_from.py
+++ b/src/libprs500/ebooks/lrf/lit/convert_from.py
@@ -65,7 +65,7 @@ def process_file(path, options, logger=None):
if opf:
path = opf[0]
opf = OPFReader(path)
- htmlfile = opf.spine.items().next().href
+ htmlfile = opf.spine.items().next().href.replace('&', '%26') #convertlit replaces & with %26
options.opf = path
else:
l = glob.glob(os.path.join(tdir, '*toc*.htm*'))