diff --git a/src/calibre/ebooks/fb2/input.py b/src/calibre/ebooks/fb2/input.py index 695d617398..248f9bd524 100644 --- a/src/calibre/ebooks/fb2/input.py +++ b/src/calibre/ebooks/fb2/input.py @@ -43,7 +43,11 @@ class FB2Input(InputFormatPlugin): from calibre.ebooks.oeb.base import XLINK_NS NAMESPACES = {'f':FB2NS, 'l':XLINK_NS} log.debug('Parsing XML...') - doc = etree.fromstring(stream.read()) + raw = stream.read() + try: + doc = etree.fromstring(raw) + except etree.XMLSyntaxError: + doc = etree.fromstring(raw.replace('& ', '&')) self.extract_embedded_content(doc) log.debug('Converting XML to HTML...') ss = open(P('templates/fb2.xsl'), 'rb').read()