diff --git a/src/calibre/ebooks/metadata/book/base.py b/src/calibre/ebooks/metadata/book/base.py index 0312a7db6a..3613af3af0 100644 --- a/src/calibre/ebooks/metadata/book/base.py +++ b/src/calibre/ebooks/metadata/book/base.py @@ -537,7 +537,12 @@ class Metadata(object): if meta['datatype'] == 'text' and meta['is_multiple']: # Case-insensitive but case preserving merging lotags = [t.lower() for t in other_tags] - lstags = [t.lower() for t in self_tags] + try: + lstags = [t.lower() for t in self_tags] + except TypeError: + # Happens if x is not a text, is_multiple field + # on self + lstags = [] ot, st = map(frozenset, (lotags, lstags)) for t in st.intersection(ot): sidx = lstags.index(t)