In 2011, bricklayer and part-time fisherman Joao Pereira de Souza found a tiny penguin covered in oil and lying on rocks on the local beach just outside Rio de Janeiro, Brazil.

The penguin, whom Souza later on named Dindim, was close to dying until the 74-year old man rescued it and cleaned off the oil from its body. Souza even fed the penguin with fish daily so it could regain its strength.

Souza tried to release the penguin back into the sea after a week, but Dindim did not want to leave.

“He stayed with me for 11 months and then, just after he changed his coat with new feathers, he disappeared,” Souza shared.

A few months later, the penguin was back. He spotted Souza at the beach and apparently followed him home.

Ever since then, Dindim comes back every year and swims 5,000 miles to meet the man who saved his life.

“Everyone said he wouldn’t return, but he has been coming back to visit me for the past four years,” Souza told Globo TV. “He arrived in June and leaves to go home in February and every year, he becomes more affectionate as he appears even happier to see me.”

“I have never seen anything like this before. I think the penguin believes Joao is part of his family and probably a penguin as well,” Biologist professor Krajewski told The Independent. “When he sees him he wags his tail like a dog and honks with delight.”