diff --git a/src/calibre/ebooks/html.py b/src/calibre/ebooks/html.py
index 84af7527bd..c938847051 100644
--- a/src/calibre/ebooks/html.py
+++ b/src/calibre/ebooks/html.py
@@ -796,7 +796,18 @@ class Processor(Parser):
setting = ''
face = font.attrib.pop('face', None)
if face is not None:
- setting += 'font-face:%s;'%face
+ faces = []
+ for face in face.split(','):
+ if ' ' in face:
+ face = "%s" % face
+ faces.append(face)
+ for generic in ('serif', 'sans-serif', 'monospace'):
+ if generic in faces:
+ break
+ else:
+ faces.append('serif')
+ family = ', '.join(faces)
+ setting += 'font-family: %s;' % family
color = font.attrib.pop('color', None)
if color is not None:
setting += 'color:%s'%color