diff --git a/src/vte.cc b/src/vte.cc
index 35d5fe9d..e421d141 100644
--- a/src/vte.cc
+++ b/src/vte.cc
@@ -9013,7 +9013,9 @@ VteTerminalPrivate::draw_cells(struct _vte_draw_text_request *items,
 	}
 #endif
 
-	auto bold = (attr & VTE_ATTR_BOLD) && m_allow_bold;
+        if (!m_allow_bold)
+                attr &= ~VTE_ATTR_BOLD;
+        auto bold = (attr & VTE_ATTR_BOLD);
         rgb_from_index<8, 8, 8>(fore, fg);
         rgb_from_index<8, 8, 8>(back, bg);
         // FIXMEchpe defer resolving deco color until we actually need to draw an underline?
