I think this is wrong in the case of the empty string?