Barcelona star Lionel Messi says he no longer vomits during matches because of a simple improvement to his diet.

The 30-year-old caused some alarm when he was sick during an Argentina friendly against Romania in Bucharest in 2014, after which the forward confessed it "happened all the time."

Messi had been sick the year before in a World Cup qualifier against Bolivia, in the high altitude of La Paz, and his old international boss Alejandro Sabella later blamed the problem on nerves.

Giuliano Poser, an Italian doctor, claimed in 2015 to have treated and cured Messi of the problem but the player himself believes cutting out unhealthy drinks and snacks was the real key.

"I don't know what I ate but I ate badly for many years," he admitted to America TV's La Cornisa. "At 22, 23... [it was] chocolate, alfajores [South American filled cookies], fizzy drinks. Now I eat well: fish, meat, vegetables, salads. Everything is organized and taken care of. Sometimes a bit of wine, but that's not a problem.

"I really noticed the change when it came to vomiting. They said it could be a lot of things, eventually I changed and it didn't happen any more."

Messi also believes he is no longer affected by critics or sporting setbacks, thanks largely to having become a father in 2012.

"The best you can do to forget everything is be with my children, wife, family. The rest is secondary," said Messi, who has three sons — Thiago, Mateo, and Ciro.

"The arrival of my first son made me not just close myself off with football. I don't like to lose, to draw, but I take it differently. It's more than a result, sometimes you can't always win, there are surprises, you can't always win and once it's over there are other things.

"I talk about everything that happens with my family, my brothers. They are always there and I tell them everything. At the time [criticism] affected me and the critics were bad to me. But that's over. I know they say things out of place, that have nothing to do with sport. They get involved in their private life."