Shouldn't we test for the peer being actually available in the list, and trigger an informative error if that's not the case?