diff --git a/extensions/odoo_theme/__init__.py b/extensions/odoo_theme/__init__.py
index 49d40a001..94b102f40 100644
--- a/extensions/odoo_theme/__init__.py
+++ b/extensions/odoo_theme/__init__.py
@@ -121,6 +121,11 @@ def icon_role(name, rawtext, text, lineno, inliner, options=None, content=None):
             )
             error_node = inliner.problematic(rawtext, rawtext, report_error)
             return [error_node], [report_error]
-    icon_html = f'<i class="oi {text}"></i>' if text.startswith('oi-') else f'<i class="{text}"></i>'
+    if text.startswith('oi-'):
+        icon_html = f'<i class="oi {text}"></i>'
+    elif text.startswith('fa-'):
+        icon_html = f'<i class="fa {text}"></i>'
+    else:
+        icon_html = f'<i class="{text}"></i>'
     node = nodes.raw('', icon_html, format='html')
     return [node], []
diff --git a/extensions/odoo_theme/static/scss/_font_awesome.scss b/extensions/odoo_theme/static/scss/_font_awesome.scss
index 529e8d999..47a35ed73 100644
--- a/extensions/odoo_theme/static/scss/_font_awesome.scss
+++ b/extensions/odoo_theme/static/scss/_font_awesome.scss
@@ -4,7 +4,7 @@
  */
 /* FONT PATH
  * -------------------------- */
-[class*="fa-"] {
+.fa {
   display: inline-block;
   font: normal normal normal 14px/1 FontAwesome;
   font-size: inherit;