diff --git a/src/calibre/ebooks/oeb/base.py b/src/calibre/ebooks/oeb/base.py
index 0daf0d4e7a..e7dd071962 100644
--- a/src/calibre/ebooks/oeb/base.py
+++ b/src/calibre/ebooks/oeb/base.py
@@ -965,16 +965,22 @@ class Manifest(object):
try:
data = etree.fromstring(data, parser=parser)
except etree.XMLSyntaxError:
- self.oeb.logger.warn('Stripping comments and meta tags from %s'%
+ self.oeb.logger.warn('Stripping comments from %s'%
self.href)
data = re.compile(r'', re.DOTALL).sub('',
data)
- data = re.sub(r']+?>', '', data)
data = data.replace(
- "",
- '')
+ "",
+ '')
data = data.replace("", '')
- data = etree.fromstring(data, parser=RECOVER_PARSER)
+ try:
+ data = etree.fromstring(data,
+ parser=RECOVER_PARSER)
+ except etree.XMLSyntaxError:
+ self.oeb.logger.warn('Stripping meta tags from %s'%
+ self.href)
+ data = re.sub(r']+?>', '', data)
+ data = etree.fromstring(data, parser=RECOVER_PARSER)
elif namespace(data.tag) != XHTML_NS:
# OEB_DOC_NS, but possibly others
ns = namespace(data.tag)