After defeating Frieza and escaping the destruction of Namek, Goku learns a teleportation skill called "Shunkan Idō", taught by the inhabitants of the planet Yardrat. However, Goku contracts a heart virus whereof the time-traveler Trunks warns him, but recovers after taking medicine provided by Trunks. Later, Goku trains Gohan to be his successor and sacrifices himself again during the battle against the evil bio-android Cell. Goku is temporarily resurrected on Earth seven years later and meets his second son Goten. Goku also battles Vegeta again after Vegeta willingly falls under the control of the wizard Babidi in order to gain power. Shortly after, he is drawn into a battle for the universe against the monster Majin Buu. Despite having mastered two new Super Saiyan transformations, Goku prepares Goten and Trunks to take his place as Earth's defender. After his life is fully restored, Goku attempts to fuse with Gohan in order to defeat Buu, but this fails when the latter is temporarily absorbed by Buu and so he persuades the newly arrived Vegeta to fuse with him, creating Vegito. Eventually, Goku destroys Buu with a Spirit Bomb attack. Ten years later, during another World Martial Arts Tournament, Goku meets Uub, Buu's human reincarnation, and leaves with him, intending to train him as the new protector of Earth.