diff --git a/lib/gfx/gfx.c b/lib/gfx/gfx.c
index eef9103e85f5c985c19eb626a8127011c491f9e5..72a5d67f0191b78563725255521227396b799c88 100644
--- a/lib/gfx/gfx.c
+++ b/lib/gfx/gfx.c
@@ -127,8 +127,8 @@ void gfx_clear(struct gfx_region *reg)
 
 void gfx_circle(struct gfx_region *reg, int x, int y, int r, int t, Color c)
 {
-	for (int y_ = y - r; y_ <= y + r; y_++) {
-		for (int x_ = x - r; x_ <= x + r; x_++) {
+	for (int y_ = y - r - t; y_ <= y + r + t; y_++) {
+		for (int x_ = x - r - t; x_ <= x + r + t; x_++) {
 			int dx    = (x_ - x) * (x_ - x);
 			int dy    = (y_ - y) * (y_ - y);
 			int outer = (r + t) * (r + t);