fixed spurious channel close waituntil error case. Was caused by a race condition causing an exception to be thrown while another was in flight