He pointed out that the $375 million figure was more than Australia was spending in Afghanistan, Sri Lanka, Iraq and Pakistan.

"The government are basically robbing Peter to pay Paul here in terms of the aid program," he told ABC television.

Mr Morrison doubted Australians would accept the argument that spending money on people overseas, where they were in desperate need, was the same as spending money on people that come "illegally" by boat.

"I don't think Australians will buy that at all."

Cabinet minister Brendan O'Connor said the government was "unapologetic" about its decision.

"We have a record amount of money going to foreign aid ... because we are a generous nation," he told Sky News.

"I don't think that should prevent us from providing basic entitlements and resources to people seeking asylum and indeed having their claims determined here."

Labor MP Kelvin Thomson sought to turn the accusation of hypocrisy back on the opposition.

He cited reports of coalition members wanting to cut aid to Africa or for teaching in Indonesian schools.

"It's a bit rich for the opposition to be claiming to be supporters of foreign aid now," he told Sky News.

"(Shadow treasurer) Joe Hockey said prior to the last election that the opposition would cut $300 million from the foreign aid budget."

Liberal backbencher Paul Fletcher said Australians expected that aid money would be spent helping economic and social development in poor countries.

"What Australians would expect is that money is being used to do things like paying for new wells in villages in poor countries that don't have clean drinking water," he told Sky News.

"They'd expect it to be going to things like microfinance programs so that women in villages in very poor countries are able to buy a sewing machine."

This material is subject to copyright and any unauthorised use, copying or mirroring is prohibited.