Somewhat subtle process_delivery() bug - $public was not being reset if a sys
channel is reached but then the loop iterated over another channel.