20. Discretion as to decreeing specific performance.
(1) The jurisdiction to decree specific performance is discretionary, and the court is not bound to grant such relief merely because it is lawful to do so; but the discretion of the court is not arbitrary but sound and reasonable, guided by judicial principles and capable of correction by a court of appeal.
(2) The following are cases in which the court may properly exercise discretion not to decree specific performance:-
(a) where the terms of the contract or the conduct of the parties at the time of entering into the contract or the other circumstances under which the contract was entered into are such that the contract, though not voidable, gives the plaintiff an unfair advantage over the defendant; or
(b) where the performance of the contract would involve some hardship on the defendant which he did not foresee, whereas its non-performance would involve no such hardship on the plaintiff; or
(c) where the defendant entered into the contract under circumstances which though not rendering the contract voidable, makes it inequitable to enforce specific performance.
Mere inadequacy of consideration, or the mere fact that the contract is onerous to the defendant or improvident in its nature, shall not be deemed to constitute an unfair advantage within the meaning of clause (a) or hardship within the meaning of clause (b).
The question whether the performance of a contract would involve hardship on the defendant within the meaning of clause (b) shall, except in cases where the hardship has resulted from any act of the plaintiff subsequent to the contract, be determined with reference to the circumstances existing at the time of the contract.
(3) The court may properly exercise discretion to decree specific performance in any case where the plaintiff has done substantial acts or suffered losses in consequence of a contract capable of specific performance.
(4) The court shall not refuse to any party specific performance of a contract merely on the ground that the contract is not enforceable at the instance of the party.