delivered the opinion of the court:
This case arises out of an insurance coverage dispute between Baxter International, Inc. (Baxter), and American Guarantee & Liability Insurance Company (American). The dispute concerns whether payments American made to indemnify Baxter for damaged inventory can be considered in calculating American’s liability for loss due to business interruption. The trial court held the payments could not be considered and granted summary judgment on that issue to Baxter. We affirm in part and reverse in part.
Baxter is a global manufacturer of medical products. In September 1998, Baxter’s Puerto Rican facilities were damaged by Hurricane George. Baxter sought coverage for its losses under a $1 billion commercial insurance policy issued by American. Baxter submitted claims to recover losses resulting from property damage and business interruption. American indemnified Baxter for the property damage portion of its claim, including losses to Baxter’s damaged finished-goods inventory. American paid Baxter the amount Baxter would have received had Baxter been able to sell the inventory. Of the $30.7 million American paid in damages to Baxter’s inventory, about $15 million accounted for lost profit.
Baxter did not claim business interruption losses resulting from the damaged inventory. But Baxter did claim it suffered business interruption losses due to damage of other property. American maintained the profit component of the damaged inventory payment must be considered in calculating Baxter’s total actual loss during the period of interruption. Baxter maintained American could not consider payments it made under the personal property provision of the policy to reduce its obligation under the business interruption provision. The parties attempted to negotiate their differences but could not reach an agreement.
Baxter filed this declaratory judgment action on October 8, 2003. Baxter sought a declaration that American’s liability for losses due to business interruption is independent of its liability for damaged inventory. American filed a counterclaim for declaratory judgment. American asserted the policy covered only “actual loss” due to business interruption, which must be calculated by considering profits Baxter realized from American’s “purchase” of the damaged inventory. American also asserted as an affirmative defense that Baxter’s action was barred by the policy’s 12-month suit limitation provision.
Both parties moved for summary judgment. The trial court held American’s payment for damaged inventory could not be considered in determining actual loss due to business interruption and granted summary judgment to Baxter on this issue. The trial court also granted *703summary judgment to Baxter on the issue of timeliness, holding Baxter’s complaint was not barred by the policy’s 12-month suit limitation provision. Baxter then moved for attorney fees and costs under section 155 of the Illinois Insurance Code (215 ILCS 5/155 (West 2004)) (section 155 sanctions). The trial court denied the motion and, on September 7, 2005, issued a final order reflecting all three holdings.
American appeals the trial court’s summary judgment orders and Baxter cross-appeals the court’s denial of its motion for section 155 sanctions. The parties agree the issues raised by American are subject to de novo review. See Alternate Fuels, Inc. v. Director of Illinois Environmental Protection Agency, 215 Ill. 2d 219, 229, 830 N.E.2d 444 (2004) (appeals from summary judgment rulings presenting issues of law are reviewed de novo); Avery v. State Farm Mutual Automobile Insurance Co., 216 Ill. 2d 100, 129, 835 N.E.2d 801 (2005) (construction and interpretation of an insurance policy present questions of law that are reviewed de novo). Baxter argues the issue of whether section 155 sanctions should have been awarded is also reviewable de novo because Baxter brought its motion in conjunction with its motion for summary judgment. Baxter cites two appellate court cases reviewing de novo section 155 awards that were presented in the trial court through a motion for summary judgment and decided as a matter of law. See Mobil Oil Corp. v. Maryland Casualty Co., 288 Ill. App. 3d 743, 751, 681 N.E.2d 552 (1997); West American Insurance Co. v. J.R. Construction Co., 334 Ill. App. 3d 75, 88, 777 N.E.2d 610 (2002). Those cases do not apply here, where Baxter’s section 155 sanctions motion did not involve purely legal issues and was presented to the trial court after the court ruled on the parties’ summary judgment motions. Under these circumstances, we review the trial court order for an abuse of discretion. See Employers Insurance of Wausau v. Ehlco Liquidating Trust, 186 Ill. 2d 127, 160, 708 N.E.2d 1122 (1999) (an abuse of discretion standard ordinarily applies to review a ruling on a motion for section 155 sanctions).
The parties ask this court to decide whether, under the insurance policy, American’s liability for loss due to business interruption can be offset by payments made to indemnify Baxter for damaged inventory. The general rules governing contract interpretation apply to insurance policies. Hobbs v. Hartford Insurance Co. of the Midwest, 214 Ill. 2d 11, 17, 823 N.E.2d 561 (2005). “When construing the language of an insurance policy, a court’s primary objective is to ascertain and give effect to the intentions of the parties as expressed by the words of the policy.” Central Illinois Light Co. v. Home Insurance Co., 213 Ill. 2d 141, 153, 821 N.E.2d 206 (2004). “If the policy language is unambiguous, the policy will be applied as written, unless *704it contravenes public policy.” Hobbs, 214 Ill. 2d at 17. “Conversely, if the terms of the policy are susceptible to more than one meaning, they are considered ambiguous and will be construed strictly against the insurer who drafted the policy.” American States Insurance Co. v. Koloms, 177 Ill. 2d 473, 479, 687 N.E.2d 72 (1997). An ambiguity exists where the language of the policy is “ ‘obscure in meaning through indefiniteness of expression.’ ” Central Illinois Light, 213 Ill. 2d at 153, quoting Platt v. Gateway International Motorsports Corp., 351 Ill. App. 3d 326, 330, 813 N.E.2d 279 (2004). “A contract is not rendered ambiguous merely because the parties disagree on its meaning. [Citation.] On the other hand, a contract is not necessarily unambiguous when, as here, each party insists that the language unambiguously supports its position.” Central Illinois Light, 213 Ill. 2d at 153-54. Whether a contract is ambiguous is a question of law. Central Illinois Light, 213 Ill. 2d at 154.
The parties maintain the policy language unambiguously supports their respective positions. The policy’s business interruption provision reads in its entirety:
“Business Interruption/Gross Earnings
1. This policy insures against loss resulting directly from necessary interruption of business caused by physical loss or damage by a peril not otherwise excluded herein to insured property of the Insured, all subject to the terms and conditions of this policy.
2. Actual Loss Sustained
This policy insures the actual loss sustained by the Insured which results directly from the necessary interruption of business, but not exceeding the reduction in Gross Earnings and Entire Ordinary Payroll less charges and expenses which do not necessarily continue during such interruption of business caused by direct physical loss or damage to property insured.
‘Gross Earnings’ shall mean the sum of:
(a) total net sales value of production (manufacturing operations) [;]
(b) total net sales of merchandise (mercantile operations) [;] and
(c) other earnings derived from operations of the business;
less the cost of[:]
(1) raw stock from which production is derived;
(2) supplies consisting of materials consumed directly in the conversion of such raw stock into finished stock or in supplying the service *** sold by the Insured;
(3) merchandise sold, including packaging materials thereof;
(4) services purchased from outsiders (not employees
*705of the Insured) for resale which do not continue under contract.
No other costs shall be deducted in determining [gjross [e]arnings.
3. Exclusions
The Company shall not be hable under the Gross Earnings section for any loss sustained resulting from damage to finished products manufactured by the Insured nor for the time required for their reproduction, to the extent the Gross Earnings value is recoverable under the Property Damage section of this policy.”
American argues that, under the language of the policy, the payments it made to Baxter for damaged inventory must be included in calculating “gross earnings.” American explains that the gross earnings formula includes total net sales of merchandise and other earnings derived from business operation. American argues its payment to Baxter for the damaged goods constitutes a “sale” of merchandise or other earnings. American relies on Lyon Metal Products, L.L.C. v. Protection Mutual Insurance Co., 321 Ill. App. 3d 330, 747 N.E.2d 495 (2001), where the court held there is no distinction between selling damaged inventory to a customer in the ordinary fashion and receiving the cash selling price for the same inventory under the terms of an insurance policy. Lyon, 321 Ill. App. 3d at 343-44. American argues the profit Baxter realized from the “sale” of its damaged inventory to American decreased Baxter’s total actual loss for the period of business interruption. American maintains Baxter would receive a windfall if actual loss or “gross earnings” did not take into account the money Baxter made from its damaged finished goods inventory.
Baxter does not dispute that, under its interpretation of the policy, it may be entitled to greater profit than it might have realized had the hurricane never occurred. But Baxter argues this is what the parties bargained for when they entered into the contract. Baxter points out that, under the language of the policy, American agreed to indemnify Baxter for damaged inventory in an amount equal to what Baxter would have realized had it been able to sell the inventory on the market. Baxter was not required to prove projected sales because it was presumed under the contract that Baxter would have sold 100% of its inventory had the damage not occurred. Baxter maintains American’s attempt to include the damaged inventory payments into its calculation for actual loss or “gross earnings” would require Baxter to prove projected sales on the same inventory that, under the contract, would have presumably been sold in its entirety.
The underlying question is whether “gross earnings” includes all of Baxter’s earnings during the period of interruption, including those *706earnings realized from American’s indemnification of Baxter’s damaged finished goods. The policy language offers no clear answer and is ambiguous for this reason. See Central Illinois Light, 213 Ill. 2d at 153. Although generally, under these circumstances, the court would apply the anti-drafter rule and construe the policy strictly against the insurer, we do not do so here. The anti-drafter rule is intended to aid the party with less bargaining power during the drafting process and is not appropriate where the parties are equally sophisticated. AlbertoCulver Co. v. Aon Corp., 351 Ill. App. 3d 123, 132, 812 N.E.2d 369 (2004). We believe the rule is inappropriate because Baxter is a sophisticated entity with bargaining power equal to that of American. See Alberto-Culver, 351 Ill. App. 3d at 133. So, rather than applying the rule as a default in favor of Baxter, we turn to general principles governing contract interpretation. Alberto-Culver, 351 Ill. App. 3d at 133.
One such principle is that parties cannot contract for terms that are contrary to public policy. In re Foreman, 365 Ill. App. 3d 608, 611, 850 N.E.2d 387 (2006). The public policy of this state is that an insurance policy should indemnify an insured for loss but not provide a windfall profit. Lyon, 321 Ill. App. 3d at 344. We also note the general purpose of business interruption insurance is to protect earnings an insured would have enjoyed had there been no business interruption. Lyon, 321 Ill. App. 3d at 342. The interplay of these two principles is set out in Lyon.
The insured there was a manufacturer of steel products and was insured under a commercial policy that covered, among other things, losses due to property damage and business interruption. Lyon, 321 Ill. App. 3d at 333. The insured sustained property damage to its principal manufacturing and distribution center as a result of flooding and was prevented from producing goods or continuing business operations for 22 consecutive days, including 17 production days. Lyon, 321 Ill. App. 3d at 333. The insurer paid the insured the cash selling value of its damaged finished-goods inventory, including the profit the insured would have realized had it been able to sell the inventory. Lyon, 321 Ill. App. 3d at 333. The insurer claimed the profit component of the damaged inventory payment offset its liability for losses due to business interruption. Lyon, 321 Ill. App. 3d at 334. The insured disagreed, arguing the insurer must cover lost profit resulting from the inability to manufacture goods for the 17-day period. Lyon, 321 Ill. App. 3d at 335. The insurer presented evidence at trial showing the insured suffered no actual loss from the interruption of its business because the profit the insured would have realized from projected sales for the 17-day period was less than the amount it received from *707the “sale” of its damaged inventory to the insurer. Lyon, 321 Ill. App. 3d at 336-37.
The appellate court held the insurer’s payment for damaged inventory must be considered in calculating the insured’s business interruption loss. Lyon, 321 Ill. App. 3d at 340. The court explained that the general purpose of business interruption coverage is to protect profits the insured would have realized had there been no interruption. Lyon, 321 Ill. App. 3d at 342. “[W]hen there is a loss of production capacity without a loss of earnings there is no recoverable business interruption except the extra expense necessary to prevent loss of earnings.” Lyon, 321 Ill. App. 3d at 342. The court found the compensation received for the damaged inventory was a “sale” for purposes of determining the insured’s actual loss. Lyon, 321 Ill. App. 3d at 343-44. The court explained:
“[T]here is no distinction between [the insured’s] selling its damaged inventory to a customer in the ordinary fashion and *** receiving the regular cash selling price for the same inventory under the terms of an insurance policy. Whether a ‘sale’ took place is not crucial. The gravamen of the analysis is whether the compensation for the damaged inventory allowed [the insured] to earn net profit and fixed charges in the same way [the insured] would have earned net profit and fixed charges had there been no flood and the inventory was sold in the ordinary manner.” Lyon, 321 Ill. App. 3d at 343-44.
The court concluded that, by selling the damaged inventory to the insurer, the insured realized a sales profit that must be considered in determining actual loss due to business interruption. Lyon, 321 Ill. App. 3d at 343-44. The court relied heavily on Northwestern States Portland Cement Co. v. Hartford Fire Insurance Co., 360 F.2d 531, 533 (8th Cir. 1966).
A fire in Portland Cement damaged a cement-making facility owned by the insured. Portland Cement, 360 F.2d at 532. As a result of the damage, the insured was unable to produce a raw material necessary to cement production. Portland Cement, 360 F.2d at 532. To reduce the loss, continue production and fill existing orders, the insured used raw materials it had stockpiled to produce cement. Portland Cement, 360 F.2d at 532-33. The insured argued it was entitled to an amount equal to lost production for the period of business interruption. Portland Cement, 360 F.2d at 533. The court disagreed. Portland Cement, 360 F.2d at 533-34. The court found the insured was able to meet its projected sales despite its inability to produce raw materials and the only actual loss suffered by the insured was the replacement value of the stockpiled materials. Portland Ce*708ment, 360 F.2d at 533-34. The court concluded that, because the loss in production did not cause a loss in profit, lost production was not covered as a business interruption loss. Portland Cement, 360 F.2d at 533-34.
Baxter argues Lyon and Portland Cement are not dispositive of Baxter’s business interruption claim. Baxter points out that it is not seeking lost profit based on its inability to sell the damaged inventory but, rather, lost profit resulting from damage to other property. Baxter argues the insured in Lyon sought recovery of the same lost earnings: indemnity for damaged inventory and business interruption due to inability to produce more of the same inventory. Baxter also argues Portland Cement is distinguishable because the insured there was able to avoid the loss of sales by using stockpiled inventory. It is undisputed that Baxter was unable to avoid loss.
The distinctions Baxter urges do not alter the impact of the holdings in Lyon and Portland Cement. The courts in those cases held an insured cannot recover for lost profit due to business interruption where there has been no actual loss. In other words, business interruption is not itself a loss. See Lyon, 321 Ill. App. 3d at 344 (business interruption insurance “covers a loss of earnings due to a loss of production, not just a loss of production”). An actual loss occurs only where the insured is unable to reduce or eliminate lost profit caused by the interruption. Baxter was able to reduce its lost profits by selling its damaged inventory to American during the business interruption.
Without citation to authority, Baxter contends its business interruption loss is independent from the profit it realized from selling its damaged inventory to American. Baxter explains the profit it realized from the sale of the damaged inventory was not the result of business interruption but the result of property damage. We fail to see how this distinction matters. The business interruption provision provides coverage for actual loss resulting from business interruption but not exceeding “gross earnings.” “Gross earnings” is defined in the policy as “total” sales and other earnings minus costs. It is not defined, as Baxter suggests, as “only the gains or losses resulting from such business interruption.” In other words, there is no suggestion from the language in the policy that a distinction can be made between different types of profit.
We find the holding in Lyon dispositive of this case. American’s indemnification payment for damaged inventory was a “sale” and can be considered to calculate lost profit or “reduction in gross earnings” under the policy. The trial court’s holding to the contrary is reversed.
*709American next argues the trial court erred in granting summary judgment to Baxter on the timeliness issue. The policy requires that an action against American be brought within one year “after the occurrence becomes known to the Insured unless a longer period of time is provided by applicable statute in the jurisdiction in which the property is located.” “Occurrence” is defined in the policy as a “loss or series of losses arising out of one event irrespective of the period or area over which the losses occur.” American argues Baxter is barred from bringing its declaratory judgment action under the one-year suit limitation because the hurricane occurred in September 1998 and Baxter did not file suit until October 2003, more than five years later. Baxter responds that the “occurrence” was not the hurricane but, rather, the loss resulting from business interruption.
American relies on Harvey Fruit Market, Inc. v. Hartford Insurance Co. of Illinois, 294 Ill. App. 3d 668, 691 N.E.2d 71 (1998), in support of its position. The insured there suffered business interruption loss due to a fire that destroyed its store. Harvey Fruit Market, 294 Ill. App. 3d at 669. The insurer did not cover the loss and the insured filed suit. Harvey Fruit Market, 294 Ill. App. 3d at 669. The insurer argued the suit was barred under the policy, which required that the suit be filed “ ‘"within one year after the loss occurs.’ ” Harvey Fruit Market, 294 Ill. App. 3d at 669. At issue was whether the “loss” was the date when the actual physical loss occurred or the date when the full extent of loss of income could be determined. Harvey Fruit Market, 294 Ill. App. 3d at 670. The court held “the date utilized for determining the date of loss is the date on which the actual physical loss of property occurred.” Harvey Fruit Market, 294 Ill. App. 3d at 669. “Loss” was not defined in the Harvey Fruit Market policy.
We are concerned here with the “occurrence.” Occurrence is defined in the policy as a “loss or series of losses arising out of one event irrespective of the period or area over which the losses occur.” The policy distinguishes between “loss” and an “event” resulting in loss. The only reasonable interpretation here is that the “event” giving rise to the “loss” was the hurricane. The “occurrence” was not the hurricane; it was the loss arising out of the hurricane. As Baxter points out, and American does not dispute, the business interruption loss is ongoing in its discovery. The trial court properly granted summary judgment to Baxter on this issue.
Baxter argues on cross-appeal that the trial court erred in denying its motion for section 155 sanctions. As noted earlier, we will not disturb the trial court’s ruling absent an abuse of discretion. Employers Insurance of Wausau, 186 Ill. 2d at 160. Section 155(1) of the Insurance Code reads:
*710“In any action by or against a company wherein there is in issue the liability of a company on a policy or policies of insurance or the amount of the loss payable thereunder, or for an unreasonable delay in settling a claim, and it appears to the court that such action or delay is vexatious and unreasonable, the court may allow as part of the taxable costs in the action reasonable attorney fees, other costs, plus [certain penalties.]” 215 ILCS 5/155(1) (West 2004).
The totality of the circumstances must be considered when deciding whether an insurer’s conduct is vexatious and unreasonable, including the insurer’s attitude, whether the insured was forced to sue to recover and whether the insured was deprived of the use of his property. McGee v. State Farm Fire & Casualty Co., 315 Ill. App. 3d 673, 681, 734 N.E.2d 144 (2000). An insurer’s delay in settling a claim will not be deemed vexatious or unreasonable for purposes of section 155 sanctions where a bona fide dispute over coverage exists. Gaston v. Founders Insurance Co., 365 Ill. App. 3d 303, 325, 847 N.E.2d 523 (2006).
A bona fide dispute over coverage exists in this case. As already explained, the language of the insurance policy is ambiguous, leaving no clear answer to the issue disputed by the parties. Also, there is no support in the record for finding that American acted vexatiously or unreasonably in bringing its affirmative defense under the policy’s suit limitation provision. The trial court’s denial of Baxter’s motion for section 155 sanctions was not an abuse of discretion.
The judgment of the trial court granting summary judgment to Baxter on the timeliness issue is affirmed. We also affirm the trial court’s denial of Baxter’s motion for section 155 sanctions. We reverse the trial court’s summary judgment ruling for Baxter on the issue of whether American can consider indemnification payments for damaged inventory in calculating its liability under the policy for actual loss due to business interruption.
Affirmed in part and reversed in part.
McBRIDE, EJ., and R. GORDON, J., concur.