The German president will not travel to the Winter Olympics in Russia in February, his office has confirmed.
Officially it is not a boycott, but it is being seen as a snub as Joachim Gauck has repeatedly criticised the Russian government’s human rights record and treatment of the opposition.
His absence in Sochi will follow his predecessor’s failure to attend the last winter games in Vancouver and his office says there is no set protocol for a German head of state to be there.
A new Russian law banning the promotion of homosexuality among children brought calls for a boycott.
Street protests included a march in Berlin in September that attracted an estimated 2,000 people and international celebrities have also spoken out.
President Putin has said that everyone will be welcome in Sochi regardless of sexual orientation.
But Russia is accused of institutionalised homophobia.
There have been moves to introduce further legislation affecting homosexuals, while gay and lesbian people have reported a climate of fear and violence.