diff --git a/src/conio/bitmap_con.c b/src/conio/bitmap_con.c
index 61cf7cea2e63f4a094794d295b8e69c7459db9c5..b9a5cd2ca04c7b0f64d9df497599cbcc217ce127 100644
--- a/src/conio/bitmap_con.c
+++ b/src/conio/bitmap_con.c
@@ -691,7 +691,7 @@ draw_char_row(struct blockstate *bs, struct charstate *cs, uint32_t y)
 		else
 			fbb = fb & (0x80 >> bitnum);
 
-		if (bitnum == 7) {
+		if (bitnum == (bs->font_data_width - 1)) {
 			cs->fontoffset++;
 			fb = cs->font[cs->fontoffset];
 		}