OTTAWA -- Prime Minister Justin Trudeau's Liberals have joined forces with the official Opposition to overwhelmingly approve a Conservative motion condemning all Canadians who promote the boycott, divestment and sanctions movement against Israel.

But not all Liberals are on side.

About a dozen Liberal MPs refused to vote on the motion, which passed by a vote of 229-51; two Liberals voted against it.

Nevertheless, the fact that Trudeau and most Liberals supported it prompted NDP Leader Tom Mulcair to charge that the prime minister is once again aligning himself with the Tories to suppress the civil liberties of advocacy groups.

Mulcair says Trudeau did the same last year when he chose to support the Conservative government's controversial anti-terrorism legislation, which New Democrats and other critics maintain equates legitimate dissent with terrorism.

The motion calls upon the government to condemn any and all attempts by Canadian groups or individuals to promote the boycott, divestment and sanctions movement, which it describes as promoting the "demonization and delegitimization" of Israel.

"This goes against the freedom of expression we hold so dear in our society," Mulcair said following the vote Monday.

Mulcair said one can disagree with the boycott movement and debate it.

"But to call upon the government to condemn someone for having that opinion, that's unheard of," Mulcair said, adding that motion "makes it a thought crime to express an opinion."

"Since when do we allow that in a free and democratic society?"

Anthony Housefather, Liberal MP for the Montreal riding of Outremont, said Liberal MPs were free to vote as they saw fit on the motion. He said he's unconcerned that more than a dozen didn't support it.

"I'm thrilled that the great majority of Liberals voted in favour of it when we had a free vote," said Housefather, whose riding includes a large Jewish population.