If the buyer knew of the nonconformity at the time of acceptance, he can revoke only if he can show he accepted the goods with the impression the seller would cure it and that did not happen. If he did "not" know of the nonconformity at acceptance, he can revoke only if he can prove he was reasonably induced by the difficulty of discovering the defect or by the seller's assurances. The buyer can revoke if (1) it occurs within a reasonable time after the buyer discovers or should have discovered; (2) before any substantial change in the goods not caused by their own defects; and (3) not effective until the buyer notifies the seller he is going to revoke. Upon revocation, the buyer can then cancel the contract and compel refund of the purchase price of the goods. In some states, the courts allow the seller to set off the price for the time the buyer kept the goods before the revocation.