Code Compliance

The Code Trigger: How Ordinance or Law Coverage Turns a Repair Into a Tear-Off

A covered peril on a roof that already violates code forces the contractor to comply with current code on the repair. Ordinance or Law coverage was written for exactly this case, and most contractors leave it on the policy.

Published May 2, 2026 · Source case study: Aurora, 1996 founder case file

A Roof I Worked on Thirty Years Ago

I was the general contractor on a job in Aurora, Illinois, in July 1996. The storm that hit was a 100-year event. NOAA NCEI documented thunderstorm winds at 60 to 70 miles per hour. The Illinois State Water Survey logged 16.91 inches of rainfall in 24 hours, a state record.

The roof I was looking at had four layers on it. Three asphalt shingle layers stacked on top of one cedar shake base. The wind creased shingles on the top layer and lifted fasteners across the slopes. The carrier sent an adjuster, scoped the visible wind damage, and cut a check for $3,356 to repair the top layer.

That settlement was technically correct for a wind-only repair. It was also impossible to install. Under the 1993 BOCA National Building Code that the City of Aurora had adopted by Ordinance O95-47 on July 5, 1995, the roof in front of me could not legally be repaired. The code required full tear-off down to the deck before any new covering went on.

The Ordinance or Law coverage on the policy carried a 5 percent cap on the dwelling limit. The dwelling was insured at roughly $90,000, which put $4,500 of code-trigger coverage on the policy. None of it was pulled down. The contractor on that job repaired the top layer, the homeowner accepted the settlement, and the illegal assembly went back together with one less storm-damaged shingle in it.

I was that contractor. Thirty years later, here is what should have happened.

What Ordinance or Law Coverage Actually Covers

Most homeowners and commercial property policies carry an Ordinance or Law endorsement, sometimes built in, sometimes optional. The coverage limit is expressed as a percentage of the dwelling limit. Five percent was common in 1996. Ten to twenty-five percent is more common today.

The coverage pays for code-mandated work that goes beyond the actual physical damage from a covered peril. It exists because building codes change, because older buildings often pre-date current code, and because a covered peril that opens an assembly often forces the entire assembly to be brought to current code before it can legally be closed.

The trigger is specific. Ordinance or Law coverage activates when:

That third condition is where most contractors lose the argument. They scope the wind damage, the carrier pays the wind damage, and the conversation ends. Ordinance or Law lives in the gap between "what the storm did" and "what the code requires to fix it."

The Aurora Roof Under 1993 BOCA

The code in effect on this Aurora property in July 1996 was the 1993 edition of the BOCA National Building Code. Aurora adopted it by city ordinance in 1995 and did not move to a later edition until after the storm.

The relevant section was BOCA §1512.2, Roof Recovering. The code stated that a new roof covering shall not be permitted to be installed over an existing roof covering where any of the following conditions exist:

Item 2: Where the existing roof covering is slate, clay, cement or asbestos-cement tile.

Item 3: Where the existing roof has two or more applications of any roofing material.

The Aurora roof violated both items. Three asphalt layers exceeded the two-application limit under Item 3. The cedar shake base layer added a fourth application beneath the asphalt and created the additional substrate conflict addressed by BOCA §1512.3, which prohibited recovering asphalt over wood shake because the assembly creates a combustible concealed space and a non-solid pinning surface for new fasteners.

This is what the code said in plain terms: any repair that touches this roof is illegal unless the contractor first tears off all four layers down to the structural deck.

How the Code Trigger Argument Runs

The argument has four steps and they have to be made in order.

Step one: the covered peril. The wind event caused direct physical loss to the roof. NOAA storm reports document the wind speed at the property location on the date of loss. Photographs document the creased shingles and the fastener pull-through. This step satisfies the policy's basic coverage requirement.

Step two: the repair obligation. The carrier owes the cost to repair the wind damage. This is what the carrier paid in Aurora. $3,356 covered the materials and labor to address the visible wind-damaged shingles on the top layer.

Step three: the code mandate. A repair must comply with the building code in effect. Under BOCA §1512.1 (Repair, Maintenance and Reroofing), the new materials placed on the roof must satisfy current code. The repair contemplated in step two cannot satisfy current code because the roof already has four layers on it and the code prohibits adding any new covering over a roof with two or more existing applications. The wind repair is physically legal only after the existing assembly is removed.

Step four: the Ordinance or Law trigger. The cost of removing the four illegal layers and bringing the deck and substrate to current code is not "wind damage." It is code-mandated work caused by the requirement to repair a covered peril. Ordinance or Law coverage exists for exactly this gap. The 5 percent O&L coverage on the Aurora policy, $4,500, was the funding mechanism the code trigger argument would have unlocked.

The carrier in 1996 paid the wind damage and stopped. The contractor in 1996 did not push the next step. The $4,500 sat on the policy unused, and the underlying tear-off and code-compliant reinstallation never happened.

What the Documentation Has to Show

The argument runs on documentation, not on rhetoric. To make this case stand up against carrier review, the file needs:

Verified covered peril. NOAA Storm Events Database entry for the date and location of loss, with documented wind speeds. Photographs of the wind damage to the roof — creased shingles, fastener pull-through, displaced ridge cap, whatever the storm actually did. The covered peril has to be established before any code argument can run.

The code in effect at the time of loss. Not the current code. The code as adopted by the local jurisdiction on the date of the storm. This requires pulling the local ordinance that adopted the code edition. In Aurora's case, Ordinance O95-47, July 5, 1995, adopting BOCA 1993. The actual ordinance is the document that proves jurisdiction.

The specific code section being cited. Not "the code requires tear-off." BOCA §1512.2, Item 3, with the language quoted. If the carrier disputes the citation, the file has the exact text of the section.

Documentation of the existing assembly. Photographs taken during inspection or during removal showing every layer present. A four-layer assembly has to be visible in the file, not described. Core samples cut through the assembly produce the cleanest evidence — a vertical cross-section of the roof shows every layer counted.

The dec page Ordinance or Law coverage limit. The percentage of dwelling limit and the resulting dollar cap. Without this, the argument has no funding mechanism to point at.

The estimate split into two parts. First part is the wind damage repair, scoped on the assumption the assembly is legal. Second part is the code-mandated work that the wind repair triggers — the full tear-off, the deck repairs, the substrate work, the new code-compliant assembly. The two parts get different funding sources. The first runs on the policy's standard dwelling coverage. The second runs on Ordinance or Law.

A file built this way does not require negotiation skill to win. The covered peril is documented, the code is cited, the assembly is photographed, and the coverage line is identified. The carrier either pays or denies, and a denial leaves a paper trail that supports the next step in the file.

Why the Aurora Recovery Was What It Was

The carrier's interest in 1996 was the same as it is now. Pay the documented loss. Loss-cost containment runs through every adjuster's file. A wind-damage scope at $3,356 closed the file at the lowest defensible number.

The contractor's interest was a clean repair on a roof I had already determined was not safe to repair. I knew the assembly was illegal. I knew the code required tear-off. I did not connect the code violation to the policy's Ordinance or Law coverage. The argument that would have brought the $4,500 of O&L funding into the claim was an argument I did not make.

The homeowner's interest was a roof that did not leak. The settlement they accepted produced a roof that did not leak — for a while — on a structurally illegal assembly that should have been torn off in 1996 and was not.

The code in effect on the day of that storm, the wind event itself, the assembly photographs, the policy coverage — all of it was there. The argument was sitting on the property waiting to be made. It was not made.

What the Article Teaches

If you are a contractor working a wind file on an aged roof, run the code trigger argument as a parallel track to the wind damage scope from the day you walk the property.

Pull the local building department's adoption ordinance for the code edition in effect at the time of loss. Photograph every layer of the assembly. Cite the specific code section that prohibits the existing condition. Read the dec page for the Ordinance or Law coverage limit. Build the estimate in two parts: the wind repair under standard dwelling coverage, and the code-mandated tear-off and reinstallation under Ordinance or Law.

The carrier may pay both. The carrier may pay the wind portion and deny the O&L portion, in which case the documented denial supports whatever the next step is. The carrier may pay the wind portion and ignore the O&L portion entirely, in which case the file shows what was left on the policy.

The argument the contractor does not make is the recovery the homeowner does not get.

Where DCS Fits

DCS writes the Xactimate scope and the supporting documentation. The estimate references the covered peril evidence, the local code adoption ordinance, the specific code section, the existing assembly documentation, and the Ordinance or Law coverage line on the policy. The scope is built in two parts so the carrier reviews each on its own coverage merits.

The contractor takes the document onto the job and uses it. The contractor handles the carrier conversation, the field inspection, and the installation. DCS does not contact the carrier, the adjuster, or the property owner. We write the document. You carry it.

The Aurora roof was thirty years ago. The argument that should have been made then is the same argument that wins on aged-roof wind files now. The codes have changed. The structure of the argument has not. If your next file has a code trigger sitting in it, the documentation has to be in place before the conversation starts.

Related
About DCS

How DCS Works

DCS prepares Xactimate estimates and supplements for restoration contractors. The contractor submits the documentation to the carrier and to the homeowner. The contractor handles all communication with the carrier and all communication with the homeowner. DCS does not contact carriers. DCS does not contact homeowners. DCS is not a public adjuster. DCS does not negotiate settlements. DCS produces the file.