Russian President Vladimir Putin has said gays should feel welcome at the upcoming Winter Olympic Games in Sochi, but they must "leave the children in peace".

Putin told volunteers Friday that gays visiting Sochi "can feel calm and at ease", and vowed that there would be no discrimination at the games.

But he emphasised that, according to a law banning homosexual "propaganda'' among minors, gays cannot express their views on gay rights issues to anyone underage.

"We have a ban on the propaganda of homosexuality and paedophilia," Putin said in televised comments from host city Sochi, with three weeks to go until the event.

Putin made the statement after volunteers at the games in Sochi asked him why their uniforms are rainbow coloured, when the Russian government bans gay propaganda.

International outcry

The president's comments were unlikely to appease critics of the ban. United States President Barack Obama has pointedly announced he was sending an Olympic delegation that includes several openly gay sports figures.

Putin and other politicians have defended the June propaganda law as a protection of child rights, but critics believe that the law discriminates against sexual minorities.

In the wake of international outcry against the bill, Russian authorities have put limits on the right to protest during the Sochi games, which run Feb. 7-23.

A senior cleric from the Russian Orthodox Church, which is closely allied to Putin, this month called for a national debate on returning a Soviet-era law repealed in 1993 that criminalised gay sex.

One of the volunteers, set to assist visitors at the Games, commented on their rainbow-coloured uniforms and asked if they could be breaching the ban on gay propaganda, the Interfax news agency reported.