Fast food companies have been exploiting government subsidies to hire beneficiaries then slashing their hours once cash runs out, Unite Union says.
However, it said new collective agreements, which have come into effect in recent weeks, should put an end to the practice.
Figures from the Ministry of Social Development have shown McDonald's restaurants have claimed more than $500,000 in subsidies in the last six years.
This total does not include the 80 percent of outlets owned by franchisees, as the ministry said it would be too hard to collect that data.
Burger King received about $62,000 but claimed nothing in the last two years.
Unite Union national director Mike Treen said, until now, many beneficiaries taken on by fast food chains under the scheme had found themselves put on zero hours contracts once the subsidies ended.
He said the union's new collective agreement with McDonald's, which came into effect on 1 October, should stop this practice by guaranteeing workers 80 percent of hours worked in the previous three months.
He said the union would also be watching to ensure existing workers did not continue to lose hours to subsidised newcomers.
"Having new staff come in on a 30-hour guarantee is a problem, given that we have a clause in the collective agreement saying hours should be offered to existing staff before new staff are employed."
Mr Treen said it was questionable whether a company as large and profitable as McDonald's should be receiving taxpayer subsidies at all.
A McDonald's spokesperson said the union had not raised any problems with management over the use of subsidies.
She said not all restaurants that hired people via Work and Income used the subsidies.
"If a restaurant chooses to utilise it, the subsidy can allow the employer to provide extra support to the new employee. This extra support may be needed to train and supervise someone who has been referred from Work and Income."
The Ministry of Social Development said it only referred jobseekers to employers whose job offers were legitimate and where the contract terms met current employment legislation.
A spokesperson said "flexi-wage" subsidies were available for position of at least 30 hours a week and the job had to be permanent.