segfault fix
allow explicit protocol override