
646 F.3d 413 (2011)
DIGITECH COMPUTER, INC., Plaintiff-Appellee, Cross-Appellant,
v.
TRANS-CARE, INC., Defendant-Appellant, Cross-Appellee.
Nos. 10-1525, 10-1652.
United States Court of Appeals, Seventh Circuit.
Argued October 25, 2010.
Decided May 20, 2011.
*414 Jeffrey A. Lind (argued), Fleschner, Stark, Tanons & Newlin, Terre Haute, IN, for Plaintiff-Appellee, Cross-Appellant.
Mark D. Hassler (argued), Attorney, Hunt, Hassler & Lorenz, LLP, Terre Haute, IN, for Defendant-Appellant, Cross-Appellee.
Before WOOD, WILLIAMS, and TINDER, Circuit Judges.
WOOD, Circuit Judge.
Trans-Care, an Indiana company that furnishes ambulance and other medical *415 transportation services, wanted to replace its dispatch and billing software. After looking around, it chose Digitech Computer for the job. The two executed a software licensing agreement, but it was not long before the deal went sour. The software did not work as Trans-Care expected, and so Trans-Care attempted to exercise an option to terminate the agreement. Digitech believed that Trans-Care had no such option and that its attempted termination was a breach of the contract. It sued, and Trans-Care shot back with a counterclaim for fraud. The court, acting through a magistrate judge presiding by the consent of the parties under 28 U.S.C. § 636(c), dismissed Trans-Care's claim for fraud and found for Digitech on the breach of contract claim. The court then awarded Digitech fees under the contract, including attorneys' fees for pursuing the contractual damages. It refused, however, to award Digitech any attorneys' fees for defending the counterclaim. Both parties appeal. Trans-Care challenges the decision on fraud, breach of contract, and the amount of damages awarded. Digitech challenges the limited award of attorneys' fees. We affirm the decisions on fraud and breach of contract, but we vacate the damages award and remand for further proceedings.

I
After some preliminary exchanges, Digitech sent an initial proposal to Trans-Care on February 3, 2006. That proposal set out the basic features of Digitech's dispatch and billing software and details on pricing; it also included a provision that the parties have described as a 90-day satisfaction guarantee. This guarantee stated that during the first 90 days, billing would be limited to programming charges; within that period, if Trans-Care was not completely satisfied, it could walk away from the contract without paying any software licensing fees.
This initial proposal did not purport to be a take-it-or-leave-it contract; instead, it launched a period of extensive negotiations between the parties, which ended when Digitech sent Trans-Care the final Agreement dated May 8, 2006. Trans-Care signed and returned it, along with a purchase order. The purchase order concluded with the following "Additional Conditions": "The Proposal and clarifications of Digitech are attached to this purchase order and incorporated herein." It also represented that Digitech would "fulfill all requirements and specifications as represented in the Agreement, proposal and clarification. . . ." The purchase order allowed deviations, but only after advance approval from the President of Trans-Care or his designee.
The Agreement stated that it was to run for three years starting May 8, 2006. Trans-Care's obligation to make monthly software licensing payments was to begin 90 days after the software was installed. For its part, Digitech could "suspend or terminate" the software products and services in the event that Trans-Care was delinquent in payment for 60 days. The Agreement provided that Digitech could recover attorneys' fees for "collections of any unpaid balances." Finally, it required notice and the opportunity to cure before termination.
The parties planned to go live with the software on August 1, 2006, but it was not until January 1, 2007, that the software was finally up and running. Even after this, the software was plagued with malfunctions relating to, among other things, transferring data from Trans-Care's previous software system, training Trans-Care employees to use the system, and operating the system to fit Trans-Care's regular needs. In light of these problems, on March 1, 2007, Trans-Care attempted to *416 exercise its opportunity to walk away from the arrangement within the 90-day "guarantee" period. But that provision had not been repeated in the Agreement, and so Digitech refused to honor it. Trans-Care parried by withholding its payments to Digitech. Finally, on April 3, 2007, Digitech locked the software because of Trans-Care's failure to make the contractual payments.
This impasse led in short order to litigation. Digitech sued in Indiana state court for breach of contract, and Trans-Care responded with a counterclaim for fraud, arguing that Digitech had misrepresented that the contract contained the 90-day guarantee. Trans-Care then removed the action to the federal district court, relying on diversity jurisdiction. After about a year of discovery, the court dismissed Trans-Care's fraud and punitive damages counterclaims in response to a motion for summary judgment. The rest of the case proceeded to a bench trial, after which the court found for Digitech on its breach of contract claim and awarded software licensing payments for 33 months and fees for software customization and training. In addition, the court ordered that Digitech was entitled to attorneys' fees for the breach of contract action, but not for defending against Trans-Care's counterclaims. This timely appeal and cross-appeal followed.

II

A
We first consider Trans-Care's counterclaim for fraud, which centers around the alleged 90-day, no-questions-asked, guarantee that it thought Digitech had offered in the initial proposala term that it contends was later incorporated into the agreement by way of the purchase order. When Digitech failed to honor this guarantee, Trans-Care says, it did more than breach a contract: it committed constructive fraud.
Indiana law recognizes that constructive fraud "may arise where: (1) a seller makes unqualified statements to induce another to make a purchase; (2) the buyer relies upon the statements; and (3) the seller has professed to the buyer that he has knowledge of the truth of those statements." Stoll v. Grimm, 681 N.E.2d 749, 757 (Ind.Ct.App.1997). We can assume for now that these principles apply to software licensing and that Digitech, as the seller, made the kind of unqualified statements that element (1) requires and that Trans-Care relied on them, as element (2) requires. This permits us to focus on the third element. The central question is whether any such guarantee or warranty was part of the final agreement between the parties. The Agreement itself, dated May 8, 2006, does have a section entitled "License: Representations and Warranties; Use of Software," but that section says nothing about a 90-day guarantee. Nor does the later section on "Term and Termination," although it does provide that either party may, upon 90 days' written notice identifying a material breach, terminate the agreement if there is no cure within that period. Thus, as of the time the Agreement was signed, Digitech was not making any representation to Trans-Care about an unqualified right to walk away after 90 days. The elliptical reference to the Proposal in the purchase order included by Trans-Care is not specific enough to make such a material change in the agreement, given the requirement in Section VI that any changes had to be in writing.
Seeking to show that the lack of a writing may not be fatal, Trans-Care points to the old case of Martin v. Shoub, 62 Ind. App. 586, 113 N.E. 384 (1916), which held *417 that warranties can sometimes serve as the basis of fraud liability even if they were not included in the final written contract. Id. at 385-86. In Martin, a horse seller represented that a stallion was in sound health and then executed a written contract to sell the horse in exchange for a buzz saw. Id. at 385. Soon after, the buyer learned that the horse suffered from bone spavin and was therefore worthless for breeding purposes. Id. The Indiana Court of Appeals affirmed a judgment against the seller for fraud, even though the written contract made no mention of the horse's condition. Id. at 385.
All this shows, however, is that the court in Martin enforced the requirement that the seller actually aver the truth of the statement on which the buyer relied (there, the health of the horse). Our case is quite different. After the initial proposal that contained the 90-day guarantee, there were extensive negotiations between the partiesboth sophisticated businesses. The last mention of the 90-day guarantee was on February 16, 2006. Digitech sent the Agreementwhich by then had no 90-day optionto Trans-Care two-and-a-half months later, on May 9, 2006. The lack of such a term in that final draft is enough to defeat the argument that Digitech was fraudulently telling Trans-Care that such a clause was part of the deal.
In a last-ditch attempt to avoid this conclusion, Trans-Care responds that Digitech did not actively disclaim that 90-day guarantee. But the implicit rule it is arguing for makes no commercial sense. A party should not be required to disclaim noisily any and every departure from earlier proposals made during negotiations before it can avoid liability for fraud. The district court's grant of summary judgment to Digitech on Trans-Care's counterclaim for fraud and punitive damages was correct.

B
We turn now to Digitech's claim for breach of contract. After a bench trial, the magistrate judge held that there was no 90-day satisfaction guarantee in the final agreement. By trying to exercise this nonexistent option, the judge concluded, Trans-Care was really attempting to terminate the agreement without providing Digitech the required written notice spelling out the details of its failure to perform and giving Digitech an opportunity to cure. It was thus Trans-Care that breached the agreement, Digitech argues, not itself. Trans-Care defends with the argument that the magistrate erred when he concluded that the 90-day guarantee was not part of the contract. Our review of these questions of contract interpretation is de novo. Fulcrum Financial Partners v. Meridian Leasing Corp., 230 F.3d 1004, 1007 (7th Cir.2000).
The parties agree that the Agreement did not include an integration clause, and thus that we may consult both the written contract and extrinsic and parol evidence in ascertaining its terms. Malo v. Gilman, 177 Ind.App. 365, 379 N.E.2d 554, 557 (1978). As we have noted already, the Agreement does not contain any express 90-day satisfaction guarantee clause. Trans-Care argues nonetheless that the final agreement incorporated the 90-day satisfaction guarantee through the purchase order. When returning the signed Agreement, Trans-Care included a purchase order that required Digitech to satisfy the terms of the initial proposal and thus arguably the 90-day satisfaction guarantee. For purposes of this part of the case, Trans-Care does not care whether Digitech tried to induce it to rely on that provision. Instead, it is arguing only that Digitech assented to the terms of the *418 purchase order, which incorporated the 90-day guarantee.
There are two problems with this argument: timing and lack of compliance with the modification terms of the Agreement. If one reads the purchase order as Trans-Care does, it is an attempt at a modification of the Agreement. "The modification of a contract, since it is also a contract, requires all the requisite elements of a contract." Hamlin v. Steward, 622 N.E.2d 535, 539 (Ind.Ct.App.1993). In order for the modification to be effective, Section VI of the Agreement required written evidence that Digitech accepted the new term. No such evidence exists: Digitech did not sign the purchase order or take any other action indicating its acceptance. The purchase order was therefore at most a proposal for a modification that was never accepted, and thus its terms did not become part of the overall agreement between the parties. Trans-Care thus cannot justify its repudiation of the contract on this basis.
Trans-Care also argues that parol evidence indicates that both parties intended that the 90-day satisfaction guarantee would become part of the contract. For support, it points to the negotiations discussing the satisfaction guarantee. For familiar reasons, we find this unconvincing. The negotiations went on for some time, and Digitech's last mention of the 90-day satisfaction guarantee occurred two-and-a-half months prior to the conclusion of the final agreement. Even without a formal integration clause, we would need some clue in the final agreement that the parties meant to carry this important provision forward. There is none.
Finally, Trans-Care notes that the Agreement states, "DIGITECH represents and warrants that the Software shall function as designed in accordance with this Agreement (including any Riders hereto) and the specifications and documentation supplied by DIGITECH in all material respects." Trans-Care claims that "specifications and documentation" incorporates the initial proposal. But the natural meaning of this language is to refer to specifications and documentation that concern the software, like user manuals and descriptions of the software's technical capability. It does not aim to incorporate every prior proposal or offer. Even if we found the phrase potentially ambiguous, Trans-Care provides us no reason to thinkthrough extrinsic evidence or otherwisethat the plain meaning is not the right one. Thus, Trans-Care breached the agreement when it attempted to terminate it without complying with the terms of Section V.

C
The district court awarded Digitech a sum that equaled 33 monthly payments for the software license, but this cannot be correct. That calculation took the term of the contract36 monthsand subtracted three waived monthly payments. But Section VIII.B. of Rider A to the Agreement provided that the "START DATE" would be the day when Digitech completed software installation, and that payments would become due 90 days after that. This works out to an initial due date of April 1, 2007. Since the contractual term ended on May 8, 2009, Digitech could at most receive 25 months of full payments and a pro rata payment for seven days.
There is a further problem with the district court's calculation. It is elementary that contract damages are intended only to compensate an injured party fairly and adequately for the loss sustained; the injured party is not to be placed in a better position than if the breach had not occurred. It follows that the injured party cannot recover twice for the same breach. *419 Bank One, Nat'l Ass'n v. Surber, 899 N.E.2d 693, 704 (Ind.App.2009); Illinois Sch. Dist. Agency v. Pacific Ins. Co. Ltd., 571 F.3d 611, 615 (7th Cir.2009). See also JOHN EDWARD MURRAY, JR., MURRAY ON CONTRACTS § 26(D) at 834-35 (4th ed.2001). If Digitech opted to terminate the contract prior to the end of the term, then Digitech should receive licensing payments only to the point of that termination. Otherwise Digitech would be in the position of both enforcing the contract and repudiating it at the same time. (We recognize that software is the kind of product that is not exhausted by transmittal to one party, but that fact does not relieve Digitech of deciding whether to insist on its rights under the contract or to end the arrangement.)
When Digitech locked the software on April 3, 2007, it terminated the contract. Digitech may say that it was exercising its contractual rights to suspend the software in the event of nonpayment. But the same provision in the contract permitted Digitech to terminate the agreement in the event of nonpayment. The question for us is which characterization of Digitech's action better matches the facts: was it suspending service, or was it terminating the agreement? If this was just a suspension of services for nonpayment, one would expect Digitech to communicate the conditions of restart to Trans-Care. But nothing like that ever happened; there was little communication between the parties after the software lockout. In light of that silence, we conclude that Digitech chose to terminate the contract on the lockout date of April 3, 2007. Because April 3, 2007 is three days beyond the 90-day waiver period that started on January 1, 2007 (the date of installation of the software), Digitech is entitled to a pro rata software licensing payment for that period, but for no more. Digitech was also entitled to the fees that the court awarded for the software customization and training it performed ($4,199.33 and $2,256.70, respectively). The award of 33 months' worth of software licensing fees, however, was incorrect and must be reduced as discussed above.
Finally, the district court correctly limited Digitech's award of attorneys' fees to those relating to the breach of contract action, excluding Digitech's attorneys' fees relating to Trans-Care's fraud counterclaims. This is because the fee-shifting provision stated only that Digitech was entitled to be reimbursed for "reasonable legal fees and expenses incurred for collection on any unpaid balances hereunder." This language is narrowly crafted; it does not state that Digitech was to be reimbursed for, say, "all legal costs of enforcement of the contract."
Digitech argues that it was required to defend against Trans-Care's counterclaims in order to collect any money and therefore should be reimbursed for those attorneys' fees. But suppose Trans-Care had timely paid all of its balances, noting its objection, and then sued Digitech for fraud. In that case, the contractual language would not allow Digitech to recover its attorneys' fees, because there would be no "unpaid balances." This just shows that the fraud counterclaims are separable from the collecting of unpaid balances. At best Digitech's argument might indicate an ambiguity in the contractual language. As Digitech drafted the contract, the doctrine of contra proferentem directs a result against Digitech. MPACT Constr. Grp., LLC v. Superior Concrete Constructors, Inc., 802 N.E.2d 901, 910 (Ind.2004) ("When there is ambiguity in a contract, it is construed against its drafter."). Thus, the contractual language should be read to limit attorneys' fees only to the breach of contract action. And in any event, the fact that Digitech's award on the breach of *420 contract has been greatly reduced will require a fresh look at its attorneys' fees award.
Therefore, we AFFIRM the decisions on fraud and breach of contract, but VACATE the damages awarded and REMAND for a new calculation of damages and fees in accordance with this opinion.
