Don't add the same listener twice.