Israeli police have arrested a man after six people were wounded in a stabbing at the Gay Pride parade in Jerusalem.
A police spokesperson identified the suspect as the same man who stabbed three people at the parade in 2005.
Yishai Schlissel, an ultra-Orthodox Jew, was sentenced to 12 years in prison for that attack and was released from prison three weeks ago.
Two of the injured are in a serious condition, medics said.
The attacker emerged behind marchers and began stabbing them while screaming, before being tackled by a police officer.
Dramatic images showed the assailant reaching inside his coat and raising a knife above his head.
Yasmin Yusupov, 20, told the BBC she and her friends were marching when she "started seeing a lot of people running".
"We didn't realise what happened but I was pulling the friends who were with me to run away. We just banged on doors of people's houses. We tried asking them to get us inside.
"When we came back I saw a few bodies on the floor right in front of me. Everyone had blood on their hands because they were trying to help," she added.
'We marched through blood'
The parade continued after the wounded were taken to a hospital, with protesters chanting "end the violence".
Israeli Prime Minister Benjamin Netanyahu condemned the attack as "a most serious incident".
"In the state of Israel the individual's freedom of choice is one of basic values. We must ensure that in Israel, every man and woman lives in security in any way they choose. That's how we acted in the past and how we'll continue to act. I wish the wounded a speedy recovery," he said in a statement.
President Reuven Rivlin condemned the stabbing as a "terrible hate crime".
"We must not be deluded, a lack of tolerance will lead us to disaster. We cannot allow such crimes, and we must condemn those who commit and support them."
'Massive police presence'
Carole Nuriel, a director at New York-based Jewish rights organisation the Anti-Defamation League, said the group was "shocked and horrified" by the attack.
"Jerusalem's pride parade celebrates the city's diverse and vibrant LGBT community. That celebration has once again been violated with violence and hatred," she said in a statement.
She added: "We extend our solidarity with the LGBT community, and hope for the full recovery of the victims."
Hundreds of police are deployed along the parade route to prevent violence breaking out. Jerusalem police spokesman Asi Ahroni told Reuters there was a "massive presence" of police at the parade but "unfortunately the man managed to pull out a knife and attack".
The event has long been a source of tension between Jerusalem's secular majority and its Jewish Orthodox communities. Israeli police granted a permit for 30 right-wing religious activists to protest on Thursday by the Great Synagogue, close to the parade route.
Ultra-Orthodox Jews have previously gathered in the city's Mea Shearim quarter to protest against homosexuality.
Israel has relatively liberal gay rights policies, despite the ultra-Orthodox hostility towards homosexuals. The Jewish state repealed a ban on consensual same-sex sexual acts in 1988.