Tony Blair has told the Liberal Democrats to stop dealing with the threat of terrorism in an "uneven way".
Mr Blair called for parties to 'unite' against terrorism
Acting Lib Dem leader Sir Menzies Campbell asked the prime minister if he would push for the closure of the US-run prison camp at Guantanamo Bay.
He also called for the extradition arrangements between the US and UK to be fully "reciprocal".
But Mr Blair said he found the way the Lib Dems expressed themselves on this issue all the time "an affront".
In the question time exchanges, Sir Menzies asked whether the Guantanamo Bay camp in Cuba would close "sooner or later" and whether the prime minister was "comfortable" with the US-UK extradition treaty.
Mr Blair replied that the Lib Dems should spend less time criticising the US and instead understand the "global" threat from international terrorists.
This was something he "thought we could unite on and defeat", Mr Blair added.
He said people must understand why the Guantanamo Bay camp had been built.
"This arose out of the worst terrorist act the world has ever known, in which 3,000 innocent people lost their lives," he said, referring to the destruction of New York's twin towers.
Prisoners caught in Afghanistan had been "engaged" in efforts to help "reactionary forces" overcome US and UK troops, he said.
But Mr Blair added that he hoped a "judicial process" could be put in place so that Guantanamo Bay might close.
The prime minister has previously described the camp as an "anomaly".
Last week, the Commons foreign affairs committee urged ministers to make UK opposition to it "loud and public".
There are currently about 490 terror suspects being held without trial at the camp, which opened in 2002.
Northern Ireland Secretary Peter Hain recently said Guantanamo Bay should be closed.