
385 N.W.2d 24 (1986)
CRAFT TOOL & DIE COMPANY, INC., Respondent,
v.
Wayne PAYNE, et al., Respondents,
Sierra Paint Corporation, Appellant.
No. C0-85-1717.
Court of Appeals of Minnesota.
April 1, 1986.
*25 Paul L. Pond, Reed & Pond, Mound, for Craft Tool & Die Co., Inc.
John M. James, Minneapolis, for Wayne Payne, et al.
Daniel Zeddies, Daniel Zeddies Professional Ass'n., Minneapolis, for Sierra Paint Corp.
Heard, considered and decided by NIERENGARTEN, P.J. and FORSBERG and LESLIE, JJ.

OPINION
LESLIE, Judge.
Sierra Paint Corporation appeals a judgment determining that its roof-coating product was defective and was the direct and proximate cause of damage to the roof of a building owned by Craft Tool & Die Company, Inc. The trial court ordered Wayne Payne and Jerry Sewell to pay Craft Tool & Die $1,758.46 plus $183.30 for costs and disbursements and ordered Sierra Paint to pay Craft Tool & Die $8,723.50 plus $735.10 for costs and disbursements. We affirm.

FACTS
This action involves the failure of a re-roofing job on a building owned by respondent Craft Tool & Die Company, Inc. The re-roofing was performed by respondents Wayne Payne and Jerry Sewell, who were then doing business as partners under the name of HRDC, Home Remodeling Discount Center. They used a product manufactured by appellant Sierra Paint Corporation in connection with the work on this job.
In the spring of 1981, employees of Craft discovered a leak between its original building and an addition built in 1975. The addition had a flat, tar and gravel roof that was approximately 3,000 square feet in size. Craft employees decided to re-roof the entire addition and hired respondents Payne and Sewell to do the work. Craft entered into a contract with HRDC dated September 4, 1981. The total price for the work on the addition was $5,250. Some additional work was to be done on the original building as well. The agreement covered labor and material for applying appellant's Acryla-Roof product, a liquid roofing product, and for some flashing work. The agreement included a ten-year warranty on the roof.
Pursuant to the agreement, HRDC re-roofed Craft's building from September 4, 1981 to approximately October 5, 1981. Craft paid HRDC in full.
The roof on the addition began leaking with the first rain, within one month after the job was completed. George Silus, president of Craft, contacted HRDC shortly Thereafter. HRDC sent two people to inspect the roof, and they pumped water off the roof at that time. Two weeks later, HRDC again sent two people to install a vent in the roof. No further repair attempts were made during the winter of 1981-82.
In the spring of 1982, the roof was inspected once again. In October, Craft contacted Walker Roofing Company and entered into a contract dated November 1, 1982 to have Walker replace the roof on the addition. Walker replaced the Acryla-Roof product with tar and gravel, and Craft paid Walker $9,560 for this work.
Craft brought an action against respondents Payne and Sewell and against appellant. Craft alleged that the re-roofing job was defective on grounds that the work and goods were defective, the warranties were breached, and there were misrepresentations. Craft sought damages for installing an entirely new roof and insulation approximately one year after leakage first occurred following the re-roofing job.
Appellant denied that its product was inherently defective, and cross-claimed against Payne and Sewell on grounds that they were negligent and misapplied the *26 product contrary to express written specifications of the manufacturer. Appellant also alleged that it had not been given proper notice of the claimed defect, that approximately one-half of Craft's damages were caused by failure to take corrective action for more than one year after leakage was discovered, and that appellant had limited its liability. Prior to trial, appellant requested the court to make a determination of comparative fault. Payne and Sewell also cross-claimed against appellant.

ISSUES
1. Did the trial court err in finding that appellant breached express and implied warranties, was notified of such breach, and failed to limit its liability?
2. Did the trial court err in finding that the cause of the roof's failure was appellant's defective product?
3. Did the trial court abuse its discretion in its distribution of costs and disbursements?

ANALYSIS
1. In an action claiming breach of warranties, the claimant must prove the existence of a warranty, a breach, and a causal link between the product's defect and the alleged harm. Peterson v. Bendix Home Systems, Inc., 318 N.W.2d 50, 52-53 (Minn.1982). The trial court found that Craft established these elements, and we will not reverse these findings of fact unless they are clearly erroneous. See Minn. R.Civ.P. 52.01.
Appellant apparently admits the existence of warranties but contests the trial court's finding of a breach. The trial court made the following finding:
That the Acryla-Roof product sold to HRDC Construction and used on Plaintiff's roof was defective and did not meet the specifications for durability represented by the Defendant, Sierra Paint Corporation.
Appellant claims that there was no expert testing and no evidence that the product was defective when it left appellant's plant.
We find sufficient evidence to support a finding of a breach of warranty. Michael Kohler, president of Walker Roofing, who has been a roofing contractor for twenty years, testified that the Acryla-Roof product does not work on a flat roof. Stuart Collins, appellant's president, admitted that there was no liquid product on the market at that time that would handle flat roofs with water ponding. Yet appellant's own specifications state that the Acryla-Roof product's resistance to water ponding for two hundred hours is "excellent." Donald Larson, appellant's technical director, admitted that the product would work better on a flat surface that was not tar and gravel because after the first coat dries, the roofers could puncture the first layer while applying the second layer. Finally, Mark Uglem, appellant's former vice president, investigated the Craft roof with Payne in the spring of 1982 and admitted that there was something wrong with the product and that new employees may have put the wrong resin into several batches of the Acryla-Roof product.
Appellant's next argument is that even if it did breach a warranty, Craft is barred from recovery because appellant was not notified of the breach for more than one year after discovery of the roof's failure. See Minn.Stat. § 336.2-607(3) (1984). The trial court rejected this argument, finding that Payne and Sewell received notice of the defect within one month of completing the job in October 1981 and that appellant received notice of the defect and notice of breach of warranties prior to November 1, 1982.
Again, we find sufficient evidence to support the trial court's finding. Payne testified that he and his spouse both called Collins, appellant's president, and left messages concerning the roof's failure. Payne testified that he, Collins, and Larson discussed the Craft roof in the fall of 1982 while inspecting the roof of an apartment building with similar problems. The Craft roof was not replaced until after November 1, 1982, allowing appellant adequate opportunity to inspect or take other action.
*27 Appellant also argues that even if it did receive proper notice, appellant limited its liability to replacement of the product. Consequential damages may be limited or excluded if the terms are reasonable. See Minn.Stat. § 336.2-718(1) (1984); § 336.2-719 (1984). A seller may also disclaim implied warranties. See Minn.Stat. § 336.2-316 (1984). In this case, appellant's product specification sheet contained the following terms:
The unique performance of this product is only as good as the applicator himself. Remember, just one small pinhole can allow water into a substrate to damage it.
* * * * * *
Information provided herein is based upon tests believed to be reliable. Inasmuch as Sierra Corporation has no control over the manner in which others may use this product, it does not guarantee the results to be obtained. Sierra products are manufactured according to specifications, tested before shipment, and will, if used according to directions, give satisfactory results. We will replace the product, should these products fail to give you the results you have a right to expect.
Appellant argues that this language makes clear that varying results could be anticipated due to circumstances within the control of the buyer or at least beyond the control of the seller. See Kleven v. Geigy Agricultural Chemicals, 303 Minn. 320, 227 N.W.2d 566 (1975).
The language in the specification sheet does not limit appellant's liability because it does not state that an injured party's sole remedy is replacement of the product. Minn.Stat. § 336.2-719(1)(b) provides that "resort to a remedy as provided is optional unless the remedy is expressly agreed to be exclusive, in which case it is the sole remedy." Appellant's argument that it disclaimed implied warranties must also fail because Minn.Stat. § 336.2-316(2) requires that the writing be conspicuous and mention merchantability.
2. Appellant argues that even if respondents established the existence of a breach, the alleged harm was caused by something other than the breach. See Minn.Stat. § 336.2-314 U.C.C. comment 13. The trial court made the following findings:
That the Defendant, HRDC Construction, through its agents and employees applied the Acryla-Roof product in the proper manner and during times when temperature and weather permitted proper application of the product, consistent with the directions provided by Defendant, Sierra Paint Corporation.
* * * * * *
That as a direct and proximate cause of the breach of express and implied warranties given by the Defendant, Sierra Paint Corporation, the Plaintiff was damaged to the extent of the replacement cost of the roof.
Appellant contends that the principal cause of the re-roofing failure was application of the product at temperatures below appellant's specified minimum of fifty degrees Fahrenheit. Appellant also claims that the roof failed because of lack of surface preparation, insufficient thickness of application, and failure to provide adequate drainage to eliminate standing or ponded water. Finally, appellant argues that Payne's failure to take effective corrective action for more than one year after Craft notified him that the roof was leaking was the proximate cause of the roof's failure.
There was sufficient evidence to support the trial court's finding that the cause of the roof damage was appellant's defective product. Mark Uglem, appellant's former vice president, observed the application of the product on the Craft roof and found nothing improper with the job done by Payne. Payne also testified that his employees did nothing wrong in applying the product to the Craft roof. Furthermore, there was testimony that during the days that HRDC applied the product, the temperature never went below fifty degrees during the day, and only on three nights did it fall below that temperature. *28 Payne testified that he applied the same product on another roof in August when it was hot and that roof also failed. He further testified that he applied the product to a roof after the Craft job when the temperature dropped below freezing and that roof is mostly intact and elastic.
Appellant also argues that the trial court erred in failing to determine, as requested, the percentage of fault attributable to each party in the event appellant were found liable for any damages. See Minn.Stat. § 604.01 (1984). We find this argument unpersuasive. The trial court apparently found appellant solely liable for the roof failure and HRDC solely liable for the replacement of flashings. Consequently, there was no need for the trial court to compare fault.
3. Appellant's final argument is that the trial court erred in taxing costs and disbursements of $735.10 against appellant and $183.30 to HRDC. It is within the discretion of the trial court to determine the fair proportion of costs and disbursements to be taxed against each defendant under Minn.Stat. § 549.04 (1984). Klinzing v. Gutterman, 250 Minn. 534, 538, 85 N.W.2d 665, 668 (1957). Such a determination will not be reversed in the absence of a clear abuse of discretion. See Striebel v. Minnesota State High School League, 321 N.W.2d 400, 403 (Minn.1982). Appellant was found liable for more than eighty percent of the total judgment and was charged with eighty percent of the total costs. HRDC was found liable for less than twenty percent of the total judgment and charged with twenty percent of the total costs. We find no abuse of discretion in the trial court's apportionment.

DECISION
The trial court did not err in finding that appellant breached express and implied warranties and that the breach was the direct and proximate cause of the damage to the roof. The trial court did not abuse its discretion in its distribution of costs and disbursements.
Affirmed.
