Retiring MP David Shearer is defending the United Nations against criticism it has not done enough to stop humanitarian crises around the globe.
Mr Shearer is leaving Parliament to take a UN job in charge of humanitarian aid in South Sudan.
He has worked extensively in the humanitarian sector, including in a number of roles with the United Nations.
He said helping people in war-torn countries can involve working with people and governments you would rather not work with.
Mr Shearer said expectations of the United Nations were sometimes too high.
"I'm not defending where the UN has fallen down, but I do think that the expectations on the UN are so extraordinary sometimes that there is no way it can step into a conflict between two sides that are determined to win and say 'look guys, let's talk about this reasonably'. It just doesn't work like that."
Mr Shearer's resignation as an MP will take effect from 31 December and he will take up the new position in the new year.
His departure will force a by-election in the Mt Albert electorate.