There's a misunderstanding here. While Baby takes over Gohan's body, the fight that happens is between Vegeta and Baby Vegeta (Baby in Gohan's body). This occurs in Dragon Ball GT episode 48.
So, while it seems like Vegeta is fighting Gohan, he is actually battling Baby, who has taken control of Gohan's body.