Around 400,000 German gays and lesbians marched through Berlin on Saturday to protest against discrimination in the workplace and schools, but only about 1,000 people joined a similar march in Greece, organisers said.
In the German capital homosexuals were joined by bisexuals and trans-sexuals, many swathed in eccentric clothing or wearing elaborate masks and wigs, as the march wound its way from the Kurfuerstendamm shopping avenue to the historic Brandenburg Gate.
"Unfortunately, gay people must still fear for their jobs," Berlin's homosexual mayor Klaus Wowereit said in a closing speech.
In senior positions one can be homosexual, "but you cannot say so," he said, adding that equal rights had not been achieved for gays.
Axel Hochrein of the German gay and lesbian association criticised German legislation which he said discriminated against homosexual couples and called for them to receive the same state benefits as heterosexual couples.
The annual march commemorates the June 1969 clashes between homosexuals and police in New York's Christopher Street.
In Athens, 1,000 people marched in central Athens against the discrimination of gays and lesbians for the third year running.
Demonstrators carried banners saying "Love is indiscriminate, love is all the difference" and "It's the system which is not normal".
Late Saturday a concert was to close the Athens gay pride ceremonies which were backed by a representative of the opposition socialist PASOK party calling for equal rights.