diff --git a/src/calibre/gui2/keyboard.py b/src/calibre/gui2/keyboard.py
index db9c9eaa86..c11f9d1c21 100644
--- a/src/calibre/gui2/keyboard.py
+++ b/src/calibre/gui2/keyboard.py
@@ -18,7 +18,7 @@ from PyQt5.Qt import (QObject, QKeySequence, QAbstractItemModel, QModelIndex,
from calibre.utils.config import JSONConfig
from calibre.constants import DEBUG
-from calibre import prints
+from calibre import prints, prepare_string_for_xml
from calibre.utils.icu import sort_key, lower
from calibre.gui2 import error_dialog, info_dialog
from calibre.utils.search_query_parser import SearchQueryParser, ParseException
@@ -520,7 +520,8 @@ class Delegate(QStyledItemDelegate): # {{{
keys = _('None')
else:
keys = ', '.join(keys)
- html = '%s
%s: %s'%(shortcut['name'], _('Shortcuts'), keys)
+ html = '%s
%s: %s'%(
+ prepare_string_for_xml(shortcut['name']), _('Shortcuts'), prepare_string_for_xml(keys))
else:
# Group
html = '