The do it yourself resource for homeowners from home improvement professionals.

How to Fix Loose Shingles

Your roof needs to be able to resist hot and cold temperatures, high winds, and wet conditions. As soon as the elements lift or damage any shingles, you’ll need to make repairs a top priority. Otherwise, your roof could lose more shingles and water will damage the sheathing. Learning how to fix loose shingles should only require an hour or two of your time. As with all roof repairs, you should act with caution when using a ladder and working in high places. Your ladder needs to extend beyond the roof edge and have stable footing.

How to Fix Loose ShinglesTools and Materials

Ideally, you’ll have a few shingles left from the last time that your roof was replaced. If not, buy a package of shingles that matches your existing roof as closely as possible.

  • Ladder
  • Hammer
  • Pry bar
  • Utility knife
  • Trowel
  • Rag
  • Roofing cement
  • Replacement shingles
  • 1-3/4 inch galvanized roofing nails

How to Fix Loose Shingles Directions

  1. Gently lift the shingle tabs covering the nails holding the loose shingles.
  2. Ease the notched end of the pry bar beneath the damaged shingle and lift each nail slightly.
  3. Position the pry bar on top of the loose shingle and grab each lifted nail.
  4. Push on the pry bar or hit it with a hammer to pull the nail out completely.
    1. Repeat this process with each shingle.
    2. Nails going through the row of undamaged shingles above the loose ones should be securing the lower row as well.
    3. Gently lift the undamaged shingles and remove the nails holding the lower row.
  5. Pull off or cut away damaged shingles with a utility knife.
  6. If you see cracks or tears in the roofing paper, seal them with roofing cement.
  7. Spread roofing cement with trowel and wipe with a rag.
  8. Fit new shingles into place. Cut pieces with utility knife as necessary to position new pieces.
  9. Put roofing cement beneath new shingles to ensure they stick down.
  10. Use the holes where you removed the original nails when nailing new shingles.
  11. Be sure to nail back down any undamaged shingles that had to be loosened to release damaged shingles.
  12. Seal each nail head with a bit of roofing cement.

Professional Roof Repairs

Extensive shingle damage or rotted sheathing calls for more than simply replacing a few shingles. The expert roofers at PJ Fitzpatrick know how to fix loose shingles or any roof damage. Ask us for a roof repair estimate today.

Need help with this project?

We have trained professionals that can help.

Contact us today. 1-888-446-6492 Get Estimate

P.J. Fitzpatrick, Inc.

21 Industrial Blvd
New Castle, DE 19720

  • NJ Lic. #13VH10727200
  • DE Lic. #2009603070
  • PA Lic. #PA011323
  • MD Lic. #105494

© 2020 P.J. Fitzpatrick, Inc.

Website by the Prager Microsystems, Inc. Digital Marketing Agency

Live Chat With Us
[gravityform id="20" title="false" description="false"]
<div class='gf_browser_unknown gform_wrapper' id='gform_wrapper_20' ><form method='post' enctype='multipart/form-data' id='gform_20' action='/diy/roof-repair/how-to-fix-loose-shingles/'> <div class='gform_body'><ul id='gform_fields_20' class='gform_fields top_label form_sublabel_below description_below'><li id='field_20_1' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_20_1' >Your Name:<span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_text'><input name='input_1' id='input_20_1' type='text' value='' class='medium' aria-required="true" aria-invalid="false" /></div></li><li id='field_20_4' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_20_4' >Phone Number:<span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_phone'><input name='input_4' id='input_20_4' type='text' value='' class='medium' aria-required="true" aria-invalid="false" /></div></li> </ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_20' class='gform_button button' value='Submit' onclick='if(window["gf_submitting_20"]){return false;} window["gf_submitting_20"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_20"]){return false;} window["gf_submitting_20"]=true; jQuery("#gform_20").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_20' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='20' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_20' value='WyJbXSIsIjExY2Q2ODU0YWI0Y2RiZGJiMzBhMmEyNzEwY2IwZDM1Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_20' id='gform_target_page_number_20' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_20' id='gform_source_page_number_20' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div><script type='text/javascript'> jQuery(document).bind('gform_post_render', function(event, formId, currentPage){if(formId == 20) {jQuery('#input_20_4').mask('(999) 999-9999').bind('keypress', function(e){if(e.which == 13){jQuery(this).blur();} } );} } );jQuery(document).bind('gform_post_conditional_logic', function(event, formId, fields, isInit){} );</script><script type='text/javascript'> jQuery(document).ready(function(){jQuery(document).trigger('gform_post_render', [20, 1]) } ); </script>