diff --git a/firmware/application/ui/ui_geomap.cpp b/firmware/application/ui/ui_geomap.cpp
index 88d8b20968c43f83bde9386bab3f4118f279b0ec..d793c223e797bb5211ea092c4bd50e04c548b531 100644
--- a/firmware/application/ui/ui_geomap.cpp
+++ b/firmware/application/ui/ui_geomap.cpp
@@ -170,9 +170,10 @@ void GeoMap::paint(Painter& painter) {
 		display.fill_rectangle({ r.center() - Point(1, 16), { 2, 32 } }, Color::red());
 	} else if (angle_ < 360){
 		//if we have a valid angle draw bearing
-		draw_bearing({ 120, 32 + 144 }, angle_, 10, Color::red());
+		draw_bearing(r.center(), angle_, 10, Color::red());
+		//center tag above bearing
 		if(tag_.find_first_not_of(' ') != tag_.npos){ //only draw tag if we have something other than spaces
-			painter.draw_string({ 120 - ((int)tag_.length() * 8 / 2), 32 + 144 - 32 }, style(), tag_);
+			painter.draw_string(r.center() - Point(((int)tag_.length() * 8 / 2), 2 * 16), style(), tag_);
 		}
 	}
 	else {