What Minnesota code actually requires when your roof is replaced
Ice barrier, drip edge, tear-off limits, deck repair, ventilation and permits: what Minnesota code requires on a roof replacement, and what to check on the proposal.
A roof replacement in Minnesota has to meet a short list of code requirements, and nearly all of them vanish under the shingles on the first day. The code calls for a self-adhered ice barrier at the eaves, drip edge at the eaves and the rakes, underlayment across the whole deck, flashing at every wall and penetration, a full tear-off once a roof already carries two layers, sheathing sound enough to hold a nail, and attic ventilation sized to the attic underneath. None of that is visible in a finished roof, and none of it is visible in a one-page proposal that says “remove and replace shingles.”
Minnesota adopts a statewide residential code based on the International Residential Code, with state amendments, and your city’s building official is the person who applies it to your house. The figures below are the residential code requirements. Where a local amendment or ordinance is stricter, that is the number that governs, and the building department will tell you in one phone call.
The ice barrier at the eaves, and why 24 inches is not 24 inches
This is the requirement that matters most in this climate and the one most often shorted. The code calls for an ice barrier at the eaves: a self-adhering polymer modified bitumen membrane, or two layers of underlayment cemented together, applied directly to the deck in place of ordinary underlayment. It has to run from the lowest edge of the roof to a point not less than 24 inches inside the exterior wall line of the building.
Read that measurement carefully, because it is not 24 inches up from the gutter. It is 24 inches past the inside face of the wall, measured along the roof slope, which means the overhang and the wall thickness come first and do not count toward it. Take a house with a two-foot overhang: two feet of overhang, plus roughly six inches of wall, plus the required 24 inches, is more than four feet of membrane along the eave before pitch is even factored in. Membrane comes in 36-inch rolls. One course does not reach. Two lapped courses do, and one course is what you get if nobody counted.
The reason the code cares is the failure mode. The eave overhangs unheated space, so meltwater running down a warm roof refreezes there, backs up behind the ice and sits still. Shingles shed running water and are not built to hold standing water. The membrane is what the water hits instead of your wall cavity. It does not prevent an ice dam, and buying a new roof to stop ice dams is a well-worn mistake in this state. Ice dams are a heat problem in the attic, not a roofing problem, and the membrane is the backstop for when one forms anyway.
On the proposal: the membrane should be named as a product, with the number of courses at the eave stated, and it should say whether valleys, low-slope tie-ins and the areas around chimneys and skylights get it as well.
Drip edge and flashing
Drip edge is required at both the eaves and the rake edges of a shingle roof. It became a code requirement in the 2012 edition of the model code, so plenty of Minnesota houses roofed before then have none at all, and a homeowner who has never had it will not think to ask.
The dimensions are specific. Drip edge extends at least a quarter inch below the roof sheathing, so water drips clear instead of curling back onto the fascia, and at least two inches back onto the deck. Adjacent pieces lap at least two inches. It is fastened at not more than 12 inches on center. There is also a sequencing rule worth knowing, because it is invisible afterward and it is easy to get backward: underlayment goes over the drip edge at the eaves and under the drip edge at the rakes. At the eave you want anything that gets past the shingles to land on top of the metal and run out. At the rake you want wind-driven water on top of the metal and thrown clear. The eave ice barrier goes over the drip edge too.
The code also requires flashing where a roof meets a wall, including a kickout at the bottom of that intersection. A kickout is a small diverter that throws runoff out into the gutter instead of letting it run down behind the siding. It is missing on a lot of houses, it costs almost nothing, and rot in the wall below a roof-to-wall junction usually traces back to its absence.
Underlayment, and where the slope changes the answer
The whole deck gets underlayment, and the required amount depends on pitch. On slopes of 4:12 and steeper, one layer. On slopes between 2:12 and 4:12, the code calls for a doubled layer applied shingle fashion with a 19-inch head lap. Below 2:12, asphalt shingles are not permitted at all and the area needs a membrane roof system instead.
That matters because the shallow areas on a house are usually the porch roof, a shed dormer, or an addition, and they are exactly the parts a fast estimate treats as ordinary roof. If your house has a low-slope section, the proposal should say what is going on it and it should be a different answer from the main roof.
Felt and synthetic underlayment both meet code. Synthetic is not required, it just does not shred when it sits exposed for a week between tear-off and shingles, which in Minnesota is a normal thing to happen.
Two layers is the ceiling, and the tear-off argument
The code allows a maximum of two roof coverings. If your house already carries two, the replacement must be a complete tear-off to the deck and there is no option about it. Even with a single existing layer, re-covering is not permitted where the old roof is water-soaked or deteriorated, or where it is wood shake, slate, clay or cement tile.
There is a stronger argument than the legal one for tearing off in this climate. Going over an existing layer means the ice barrier at your eaves stays whatever the previous roofer put down, unverified and invisible, and on a house roofed before the requirement was enforced that is usually nothing at all. It also means nobody looks at the deck. A layover is generally the cheaper line on the estimate and the more expensive roof over its life. Some Minnesota cities require full tear-off by local ordinance regardless of what the state code would allow, which is another question for the building department.
Tear-off and disposal are priced by the square, so the number on that line should match the roof area the rest of the estimate uses. If that unit is new to you, a roofing square is 100 square feet of roof surface.
The deck
Once the old roofing is off, the sheathing gets inspected and anything deteriorated has to be replaced before the new roof goes on. That is a requirement, not an upsell. Delaminated OSB along the eaves, soft spots around chimneys and plumbing penetrations, and staining under old valleys are what it looks like.
Older Minnesota houses bring a second issue. Board decking, and in particular spaced board decking left over from a wood shake roof, has gaps wider than shingle manufacturers allow, which means fasteners land in air. The fix is overlaying the entire deck with sheathing panels, and it is a real cost that does not appear until the old roof is off.
Re-nailing the existing deck is worth naming because it is frequently quoted here as though it were code. It is not a Minnesota requirement. It is mandatory in high-wind states, and in Minnesota it is a sound idea on an older house with the shingles off and a good line item, but it belongs in the “better spec” column rather than the “required” one. What genuinely protects you on deck work is a per-sheet price agreed in writing before the crew arrives, so the figure is not invented on the day it is needed. Pro24’s roof replacement page makes the same point about getting that handling settled up front.
Ventilation is part of the roof
Attic ventilation is a code requirement tied to the replacement, and it is the item left off proposals more often than any other. It is stated as a ratio of net free vent area to attic floor area. The baseline is 1 square foot of vent for every 150 square feet of attic. The model code permits halving that to 1 in 300 under specific conditions, Minnesota amends the ventilation provisions, and your building official is the one who says which ratio applies to your house. Ask which figure the proposal was sized to, because a proposal that states no figure was not sized at all.
Three things about that number are easy to miss:
- Net free area is not the size of the hole. Every vent has a published net free area that is a fraction of its opening, because of the screen and the baffle inside it. Counting holes overstates ventilation badly.
- Balance decides whether air moves. Roughly half the area low at the soffits and half high at the ridge. All exhaust and no intake moves nothing, and a ridge vent combined with open gable vents or a powered fan short-circuits: the ridge pulls its air from the gable rather than from the eaves, and the eaves stay dead. Plenty of Minnesota houses have both installed.
- The intake path has to be clear. Code requires at least a one-inch gap between insulation and the roof sheathing where soffit vents feed the attic, held open by baffles. Blown insulation buries soffit vents routinely, and a roof crew adding intake vents without checking above them has changed nothing.
If the roof has no attic above it, a cathedral or vaulted assembly, the rules change again: an unvented assembly needs air-impermeable insulation against the underside of the deck at a minimum R-value for condensation control, R-25 across most of Minnesota and R-30 in the far north of the state.
On the proposal: intake and exhaust named as products with quantities, linear feet of ridge vent and a count of soffit or edge vents, and a line saying whether baffles are included.
Permits and inspections
Reroofing is not on the state code’s list of work exempt from a permit, so a permit is required and the city administers it. The contractor normally pulls it.
Who pulls it is not a formality. Minnesota requires most residential contractors to hold a state licence, and the Department of Labor and Industry publishes a lookup so you can check one before you sign. The state also runs a Contractor Recovery Fund for homeowners harmed by a licensed contractor. A homeowner who pulls the permit and stands as their own contractor sits outside that arrangement. If a roofer asks you to pull the permit on your own house, that is worth a direct question about why.
Inspection practice varies by city. Every job gets a final. Some cities also require an in-progress inspection after tear-off and before the deck is covered, and that is the only moment anyone outside the crew can see the sheathing and the eave membrane. Ask your building department which applies, and either way ask the contractor for dated photographs of the bare deck and the ice barrier before the shingles go on. Those photos are the entire evidence trail for the parts of the roof you paid for and will never see again.
Code minimum is a floor, not a specification
Everything above is the line below which the roof is not legal. It is not the line above which the roof is good. The items that separate two proposals that both say “architectural shingles” are usually these:
- Ice barrier beyond the minimum: every valley, every chimney and skylight, and an extra course at the eaves on shallow pitches or deep overhangs.
- New step flashing at walls rather than the old flashing bent back and reused.
- Pipe boots with metal collars instead of bare rubber, which cracks in this climate well before the shingles are half worn.
- Starter course at the rakes as well as the eaves, and the manufacturer’s high-wind nailing pattern. Both are usually conditions of the shingle warranty rather than the code.
- Deck re-nailing on an older house, priced honestly as the optional item it is.
Every one of those adds cost. Knowing which of them are in a number is the only way two roofing prices can be compared at all.
If you are collecting proposals now, read them for the ice barrier courses, the ventilation figure, the deck price per sheet, the tear-off, and who pulls the permit, rather than for the shingle brand on the front page. Pro24 Contracting handles roofing and roof replacement across the Twin Cities metro and greater Minnesota, and offers a free roof inspection if you want the current roof and the attic looked at before you decide anything.
