only add one error listener per client