North Queensland MP Les Walker has apologised for the gaffe, which he has blamed on a staffer.