Some of the wettest roofs we open up in Dallas never let a drop of rain through. The water came up from inside the building as vapor, condensed somewhere in the assembly, and quietly soaked the insulation from below over months or years. Buildings that run high interior humidity push this hard, and Dallas has no shortage of them: cold-storage and food-processing plants in the West Dallas and Trinity industrial corridors, commercial kitchens and indoor pools, laundries and printing shops along the older Stemmons manufacturing belt, and any tightly sealed conditioned building where humid interior air has somewhere to migrate. Diagnosing this kind of damage is a fundamentally different job than chasing a roof leak, and the owners who get burned are usually the ones whose last contractor treated it like one.
Warm, moist air wants to move toward cooler, drier conditions, and it carries vapor with it. In a humid building, vapor pressure drives that moist air up into the roof assembly, and when it reaches a layer cool enough to hit the dew point, usually within or just under the insulation, it condenses into liquid water. There is no single entry point to find and seal because the moisture is being generated across the whole field of the roof, day after day, with nowhere to escape once it is trapped beneath a vapor-tight membrane.
The vapor retarder is what is supposed to stop that air before it gets in, and in this climate it belongs low in the assembly, toward the warm interior side, under the insulation. When a roof was built without one, when the retarder sits in the wrong position, or when later rooftop work punctured it, the assembly has no defense and the water accumulates. Recovering over a roof like that without correcting the vapor strategy underneath simply rebuilds the same failure on a fresh membrane.
Humidity-driven damage shows a distinctive set of symptoms once you know the pattern.
You cannot judge trapped moisture reliably from the surface, so we map it with an infrared moisture survey. Wet zones of the assembly release stored heat differently than dry zones, and a thermal scan run during the cool-down window after sunset reveals the saturated areas as distinct warm patches against the field. We confirm those infrared flags with physical core cuts that let us read the actual insulation condition, the moisture level, the position and integrity of the vapor retarder, and the state of the deck below. On any humid-building roof in the Dallas area that has not had a documented moisture survey in the last few years, we recommend one before any major work is planned. Wet insulation caught early is a contained repair; the same moisture left to migrate and corrode the deck becomes a full replacement.
Once the survey shows how much of the roof is affected and how deep the damage runs, the right scope follows from the numbers rather than from guesswork.
The mistake we work hardest to avoid is repairing what is visible while leaving the moisture source untouched. Patch a field of blisters without addressing the vapor drive feeding them and they are back within a season or two, and the owner has paid for nothing. Real humidity-damage repair means correcting the building physics: getting the vapor retarder where it belongs, restoring the insulation's ability to keep the membrane warm enough to stay above the dew point, and where it makes sense, coordinating with the building's mechanical side on interior humidity control so the roof is not fighting the HVAC. That is the difference between a fix that lasts and one that just resets the clock on the same failure.
If you manage a humid building anywhere in the Dallas area and you are seeing blisters, ridging, climbing energy bills, or stains that do not line up with any recent rain event, the assembly may be holding water you cannot see from the surface. Reach out and we will run an infrared moisture survey, verify the findings with physical core cuts, and lay out a repair, recover, or full replacement scope that addresses the underlying cause instead of chasing the symptom one season at a time.








