Don't call done if its already been called