I changed it to amount because the logic for creating label_text uses amount.  self.amount seems to keep the value from the previous selection if the new selection has no value.  This is the line that fixed the bug.