diff --git a/src/calibre/ebooks/metadata/rtf.py b/src/calibre/ebooks/metadata/rtf.py index 1d629c50d0..f425137321 100644 --- a/src/calibre/ebooks/metadata/rtf.py +++ b/src/calibre/ebooks/metadata/rtf.py @@ -206,7 +206,7 @@ def set_metadata(stream, options): def replace_or_create(src, name, val): val = encode(val) pat = re.compile(base_pat.replace('name', name), re.DOTALL) - src, num = pat.subn(r'{\\' + name + ' ' + val + '}', src) + src, num = pat.subn(r'{\\' + name.replace('\\', r'\\') + ' ' + val.replace('\\', r'\\') + '}', src) if num == 0: src = add_metadata_item(src, name, val) return src