Sometimes there really is no distance you wouldn't travel for a true friend. 

Such is the case for one South American Magellanic penguin who travels 5,000 miles every year to reunite with the man who saved its life. 

Joao Pereira de Souza is a retired bricklayer and part time fisherman. In 2011 he came across the penguin who had been washed up on his local beach near Rio de Janeiro in Brazil. The penguin had been covered in oil and was close to death. Joao cleaned the penguin up and fed him a diet of fish to help build up his strength. He named the penguin Dindim. 

Joao tried to release Dindim back into the sea but the bird wouldn't leave and ended up staying for eleven months. After changing his coat with new feathers he disappeared. 

A few months later, Dindim was back. He spotted Joao on the beach one day and followed him home. Since then, Dindim has spent eight months of the year with Joao and the rest of the time breeding of the coasts of Argentina and Chile. It is estimated that he swims 5,000 miles every year to be with Joao. 

“No one else is allowed to touch him. He pecks them if they do. He lays on my lap, lets me give him showers, allows me to feed him sardines and to pick him up,” said Mr Pereira.