Changed recombine() method to allow it to deal with r=0