only cancel port once!