Always call ALPN.remove() after handshake.

Nope. Good catch.