diff --git a/lib/battle/BattleHex.cpp b/lib/battle/BattleHex.cpp
index a8a026af8..94d8657e2 100644
--- a/lib/battle/BattleHex.cpp
+++ b/lib/battle/BattleHex.cpp
@@ -159,7 +159,7 @@ BattleHex::EDir BattleHex::mutualPosition(BattleHex hex1, BattleHex hex2)
 	return NONE;
 }
 
-char BattleHex::getDistance(BattleHex hex1, BattleHex hex2)
+uint8_t BattleHex::getDistance(BattleHex hex1, BattleHex hex2)
 {
 	int y1 = hex1.getY(), y2 = hex2.getY();
 
diff --git a/lib/battle/BattleHex.h b/lib/battle/BattleHex.h
index f3c92b97c..af0f51c64 100644
--- a/lib/battle/BattleHex.h
+++ b/lib/battle/BattleHex.h
@@ -88,7 +88,7 @@ struct DLL_LINKAGE BattleHex //TODO: decide if this should be changed to class f
 	std::vector<BattleHex> allNeighbouringTiles() const;
 
 	static EDir mutualPosition(BattleHex hex1, BattleHex hex2);
-	static char getDistance(BattleHex hex1, BattleHex hex2);
+	static uint8_t getDistance(BattleHex hex1, BattleHex hex2);
 	static void checkAndPush(BattleHex tile, std::vector<BattleHex> & ret);
 	static BattleHex getClosestTile(ui8 side, BattleHex initialPos, std::set<BattleHex> & possibilities); //TODO: vector or set? copying one to another is bad