What this code requires
CRC R902.1 is the California Residential Code section that sets the minimum fire-resistance classification for roof coverings on new residential construction. Outside Fire Hazard Severity Zones and Wildland-Urban Interface areas, California requires at least a Class C roof covering on new homes. Inside those areas, the California Wildland-Urban Interface Code requires a Class A roof assembly, so Class B and C coverings are not allowed there. The roofing material, product name, and its UL or ASTM E108 classification must be called out explicitly on the plans.
How to fix it
Confirm your project's fire hazard zone designation
Go to the Cal Fire FHSZ viewer at osfm.fire.ca.gov or check your city’s GIS portal. If the project parcel falls inside a Fire Hazard Severity Zone (State or Local Responsibility Area) or a Wildland-Urban Interface area, note that designation. You will need to reference it on your plans. If you are outside those areas, CRC R902.1.2 requires at least a Class C roof covering, and you don’t need the zone note on the cover sheet.
Choose a listed roof covering of the required class
In a Fire Hazard Severity Zone or WUI area, California Wildland-Urban Interface Code Section 504.2 requires a Class A roof assembly tested to ASTM E108 or UL 790. Nearly all asphalt fiberglass shingles made today are Class A — but you must verify with the manufacturer’s product data sheet. Look for the UL or ASTM classification on the product label or the ICC Evaluation Service (ICC-ES) report. Metal, concrete tile and clay tile count as Class A without testing only on noncombustible roof decks; on wood decks, use a listed Class A assembly. Wood shakes must be fire-retardant-treated products listed under R902.2.
Add a roof covering note to the plans
On the roof plan sheet and/or the general notes sheet, add a note that includes: (1) the manufacturer name and product line, (2) the fire classification (Class A), and (3) the UL or ASTM classification number or ICC-ES report number. Example note: "Roof covering: CertainTeed Landmark AR, Class A per UL 790, ICC-ES ESR-1389. Installed per manufacturer instructions and CRC R905." That level of specificity is what plan checkers need to sign off without a correction.
Add the fire hazard zone note if in VHFHSZ or HFHSZ
If your parcel is in a designated fire hazard zone, add a separate note near the project data block on the cover sheet: "Project located in [Very High / High] Fire Hazard Severity Zone per Cal Fire designation. Roof covering is Class A per CRC R902.1.1 and CWUIC 504.2." Some plan checkers will also want to see the APN, the zone boundary reference, or a printed Cal Fire map exhibit attached to the drawings. Check with your specific jurisdiction before resubmitting.
Reference the ICC-ES or UL listing on the spec sheet
Attach the product data sheet or ICC-ES report as a reference exhibit in the plan set, or reference it by report number in the notes. The ICC-ES reports are publicly available at icc-es.org. The UL product certification database at iq.ul.com also works. Either reference confirms that the product holds the stated classification independent of the manufacturer’s marketing claims.
Update plans immediately if material changes on-site
If you substitute roof covering products after the plans are approved, submit a minor change or field change request to the building department before the material goes on. Switching from a named Class A product to a different Class A product still requires a plan revision showing the new product name and its classification. This avoids an R902.1 correction at inspection that forces a stop-work order until you get a field change approved.
Verify underlayment and flashing also meet CRC R905
CRC R902.1 covers the covering classification. CRC R905 covers installation requirements including underlayment type, fastening pattern, and flashing details. Plan checkers often flag both sections together on the same correction letter. Make sure your roof plan notes the underlayment (e.g., "synthetic underlayment, ASTM D8257") and that flashings are called out at valleys, penetrations, and eave edges. Getting R902.1 right while missing R905 details just results in two separate correction cycles.
Take the CRC R902.1 fix steps with you
All 7 steps in one email, so you have them on site instead of on this page.
Why you got flagged
Plan checkers flag CRC R902.1 for a handful of predictable reasons, and most of them come down to the same root cause: the roof covering specification is either missing from the plans or too vague to confirm compliance.
The most common hit is a simple omission. The plans call out framing, sheathing, and underlayment — but nowhere does a note on the roof plan or general notes sheet state the actual product name and its fire classification. "Asphalt shingle roof" gets flagged. "CertainTeed Landmark Class A" passes. Plan checkers cannot verify what’s not written down, and they won’t approve it on good faith.
A second common scenario involves properties inside a VHFHSZ. Cal Fire’s mapping shows roughly the northern hills of Anaheim and many Irvine canyon-facing lots in designated Very High zones. If the project is in one of those zones, the plan set needs to explicitly note both the zone designation and the Class A compliance. Reviewers scan for this note first — if it’s absent, the correction lands on the letter regardless of whether the specified product is actually Class A.
The third scenario is a material substitution without a matching spec update. A contractor switches from the specified shingle to a composite or metal panel mid-project for budget reasons. The product on-site is Class A, but the approved plans reference the original spec. The field inspector flags it as not-per-plans, and now R902.1 shows up in the correction letter even though the new material technically passes.
The official code
CRC R902.1 — California Residential Code, Chapter 9 Roof Assemblies
Read the source →