Last Updated September 29, 2026

What You’re Not Being Told About Apex’s Trees

He promised to save Apex’s trees. Then he told you the rules were the state’s best and growth had stopped. None of it was true.

Last Updated September 29, 2026

What You’re Not Being Told About Apex’s Trees

He promised to save Apex’s trees. Then he told you the rules were the state’s best and growth had stopped. None of it was true.

This Is A Story About Trust, Transparency, and Trees.

While that might not sound too exciting, this may be the most important topic we have covered to date.

The Peak Weekly is a proud sponsor of the Triangle Environmental Symposium, big fan of trees, lover of wildlife and rejects dishonesty from elected officials.

This is a story about the trees in Apex. It is fact-driven and cites all of its sources. You can independently verify all of this – not by asking a councilmember – but by looking at the actual data and documents which I will link below.

Here is some of what we’ll cover in this article:

  • Apex lost more than an acre of trees a day between 2016 and 2020, about 1,766 acres, and the county’s own study puts the loss at 2,180 acres over the decade, the largest of any town in Wake County. The land Apex will annex next is 69 percent forest – for now.
  • Mayor Pro Tem Terry Mahaffey, who sits on the committee that writes development rules, has told residents since 2019 that Apex’s tree protections are among the strongest in the state and that growth has slowed. The Town’s own records say neither is true.
  • Mahaffey claims we have the best resource conservation in the state. But, in fact, Apex’s “conservation area” rule does not require a single tree to be saved. It counts creek buffers the state already protects, landscape strips the ordinance already requires, sewer easements, playgrounds at half credit, and stormwater ponds at full credit. Apex is the only town of ten we compared that counts a pond as conservation.
  • On four recent approvals, including one Mahaffey seconded this April, the rule preserved no forest that state law and the landscaping code did not already require. The “massive disaster” he cited from the old council set aside more real buffer than the project he voted for.
  • Growth is not down 75 percent. Last year Apex added more residents than in any year since 2021 and finished the most homes in five. The chart Mahaffey shared showing a 75 percent drop used a half-year number; he had posted the correct figure himself five months earlier.
  • He took $5,000 from the NC REALTORS PAC, whose agenda he himself says has bought the legislature, then wrote that no council candidate should take developer money.
  • Town staff told council in April that the rule “directly undermines” its own purpose and that nobody at the Town reviews tree preservation. Five months later, no fix is on any agenda and no forester is in the budget.

Part one

The problem

Between July 2016 and July 2020, about 1,766 acres of green space disappeared inside Apex and the land it controls just outside town.

That is 2.8 square miles. It works out to more than an acre a day, every day, for four years. Apex Community Park is 162 acres. Picture eleven of them, gone.

Vegetation lost between July 2016 and July 2020, in red. Gray boundary is Apex corporate limits plus the ETJ.
Vegetation lost between July 2016 and July 2020, in red. Gray boundary is Apex corporate limits plus the ETJ.

The county has measured it too. Wake County's 2020 tree study found that Apex lost 15 percent of its tree cover between 2010 and 2020, about 2,180 acres. That was the largest loss of any town in the county. Cary lost 7 percent. Holly Springs lost 10. The county as a whole lost 3.

Here is why that matters to you.

Trees are the cheapest stormwater system Apex has. A wooded acre soaks up rain that a cleared, graded acre sends into a pipe, a pond, or your yard. Apex sits in the Jordan Lake watershed, where the region's drinking water comes from, and trees along the creeks are what keep the silt out of it. A shaded street is cooler in July than a bare one, and a shaded house costs less to cool.

The county puts a number on all of it: Wake County's trees pull 11,000 tons of pollution out of the air each year and catch 8.1 billion gallons of stormwater, worth about $1,290 a year to every resident. When an acre of trees comes down, that work stops, and the replacement saplings will not do it for decades.

And the worst is ahead. Inside the Apex town limits, the county counted 45 percent tree cover. On the land just outside them, the land the Town will annex next, it counted 69 percent, the most wooded growth area of any town in Wake County. That is where nearly all of Apex's remaining building will happen. Every acre approved out there is more likely to be forest than the last one.

How we counted the 1,766 acres: we compared federal aerial photos from July 2016 and July 2020 across the whole town, pixel by pixel, and kept every patch of an acre or more that was green before and not after. The method sees plants, not just trees, and clearing inside an approved project is not proof anyone broke a rule. Example flyover comparison shown below. If we got an area wrong, tell us and we will fix it.

Aerial Vegetation Comparison
Aerial Vegetation Measurement Comparison 2016 Flyover vs. 2020

Part two

What you've been told

In July 2019, three months before he was first elected, Terry Mahaffey posted a heat map of development in Wake County. Apex was the biggest red spot on it. "We need to protect our beautiful tree canopy cover before it is gone forever," he wrote.

Mahaffey on Facebook, July 29, 2019, three months before his first election, complaining about over-development and promising to do better.
Mahaffey on Facebook, July 29, 2019, three months before his first election.

"And we're allowed to say no to a bad project, or even say no to an 'ok' project if we just want to wait for something different to come along. If I'm elected to the Apex Town Council this November, I Will Do Better."

He was elected that November. He is now Mayor Pro Tem. He sits on the Responsible Development Committee, which writes the rules developers follow, and he is the council's link to the Environmental Advisory Board, the citizen group that has spent a year asking for stronger ones. Here is what he has told you since, next to the record.

"Full tree canopy replacements"

In October 2021, Mahaffey wrote that the new council was "requiring much more from developers," including "full tree canopy replacements and other environmental concessions," and that the old approvals were a "massive disaster."

Mahaffey on Facebook, October 22, 2021 saying that Gracewood should not have been approved by previous council because it lacked, in part, full tree canopy replacements.
Mahaffey on Facebook, October 22, 2021.

There is no such requirement. Apex's ordinance - still to this day - does not require a developer to replace canopy, preserve any share of existing trees, or count the trees on a site before clearing it. The only replacement rule covers trees cut illegally inside a protected area. None of the projects approved since then carries a canopy-replacement condition.

Here is what the rule actually produced. Horton Park, a Planned Unit Development off Smith Road, was solid forest. The approved plan met its conservation requirement on a floodplain a quarter mile away, and the phases along Percussion Drive were cleared to the property lines.

Horton Park, Phases along Percussion Drive and Wood Nymph Alley, before and after. Street grid overlaid on the before frame.
Horton Park, Phases along Percussion Drive and Wood Nymph Alley, before and after. Street grid overlaid on the before frame.

"Some of the most robust environmental controls in North Carolina"

Running for re-election in October 2023, Mahaffey told News & Observer that "Apex has recently implemented some of the most robust environmental controls in North Carolina, preserving our tree canopy and watershed."

Four weeks earlier, on September 26, council had been presented with the county's tree study. Council Member Arno Zegerman summarized it the next morning: "Apex has lost a shocking amount of tree coverage."

We read the tree rules of nine other North Carolina towns. Apex's headline percentage is near the top. What the percentage measures is at the bottom. Apex is the only one of the ten that lets a developer count a stormwater pond, water and all, as conservation. It is one of two in Wake County with no rule protecting large trees. It is one of three with no urban forester on staff. Chapel Hill, Durham and Holly Springs require that the set-aside actually contain trees. Apex does not.

IMG_GFX_COMPARE
Show as a table
Minimum set-asideWhat it measuresPonds and lawns count?Big-tree ruleUrban forester
Apex10–30%"Resources": floodplain, buffers, slopes, ponds, amenitiesYes, ponds at 100%, lawns at 50%Survey onlyNo
Chapel Hill30–40%Tree canopy after constructionNoTrees over 24" must be preservedYes
Durham20–30% suburbanPreserved tree zones plus replanting creditPond water excludedSurvey, credit for savingYes, 9 staff
Holly Springs30% open space, 20–25% must be tree preservation areaDesignated tree preservation areaSCMs only half, only if amenitized24"+ protected, $2,000 fine plus $100/inchProgram
Morrisville15–20%Existing tree canopy, net of easements and waterEasements excluded24"+ replaced at 2xNo
Charlotte15%Tree save with credit multipliersPonds and easements subtracted first30"+ native must be preserved or paid forYes
Raleigh10–15%Undisturbed tree conservation areaStorm drainage excludedChampion trees can't be removedYes
CaryNoneIndividual champion treesn/a32"+ can't be removedYes
Wake ForestNo percentage; tree countTrees per square foot, new or existingBuffers and easements count toward open space20"+ replace or pay valueYes
Fuquay-VarinaNone; 30–40 ft perimeter stripPerimeter buffer plus heritage treesn/a24"+ replaced 1 per 10"No
IMG_GFX_COMPARE

Apex is the only town of the ten that counts a stormwater pond at full value toward conservation, one of two in Wake County with no rule protecting large individual trees, and one of three with no urban forester on staff.

He was still saying it this morning. Replying to a resident on Reddit who wrote that state-mandated stream buffers "have been the reason for any trees left on site," Mahaffey answered: "trees are left on site because we have the largest RCA program in the state. Yes riparian buffers count but rarely are enough."

Mahaffey replying on Reddit, September 29, 2026.

One thing in his reply is right, and it deserves credit: Apex requires 100-foot buffers on perennial streams, double the state's 50. That is the one place the Town's own rule adds trees. It is a stream rule, not a tree rule, and on the plans in this article it is a strip along a creek.

Everything else on those plans that has trees in it was required by the state or by the landscaping code. What the set-aside rule added on top was a pond and a lawn.

"Growth is slowing"

Yeah, I guess if you publish inaccurate figures."

Mayor Pro Tem Terry Mahaffey, April 25, 2025: certificates of occupancy by year,
Mayor Pro Tem Terry Mahaffey, April 25, 2025: certificates of occupancy by year, "a good proxy for home building."

Here's how you can see those numbers without just relying on a chart that Terry made. Click on this link. That will open up the Town of Apex's Certificate of Occupancy FeatureServer. Scroll down to see the results.

That 708 number he's showing you to argue that "growth is slowing in Apex" - see how the Town's truthful data shows 1,245? And then how it grows to 1,617 the next year because... growth is not slowing?

In April 2025 he posted a chart of certificates of occupancy, the paper a building gets when it is finished, falling from a 2020 peak. "A good proxy for home building," he called it. "If you measure growth as a percentage, the drop is even more precipitous."

Readers asked the right questions in the comments. "Is there lag time after the CO before the buildings are fully built and occupied?" one wrote. "Not really," he replied. Another asked whether the large apartment and townhome projects under construction were missing from his numbers. "Every single metric shows plummeting growth, down by over half, since the peak in 2020," he answered. "It's undeniable." He predicted growth would "level off around 3-4% year over year."

A house gets one certificate. An apartment building gets one certificate too, for the whole building. Last year Apex issued the fewest certificates in five years and finished the most homes: 1,618. More than half of them were apartments, up from 3 percent four years earlier.

Between October 27 and November 21, 2025, four certificates covered 592 apartments. His chart counted them as four. The Town's growth rate for the year he was predicting came in at 4.7 percent, the highest in four years. By the Town's own population count, the drop from the 2020 peak was 39 percent, not "over half." The readers were right.

COS v UNITS
Show as a table
Fiscal yearCertificates issuedHomes those certificates coveredHomes per certificateResidents added
2021–221,0621,0891.03,148
2022–231,0401,0401.03,150
2023–241,1561,3061.13,714
2024–259951,2441.33,365
2025–267691,6182.14,003

The Town's August report shows 5,300 homes under construction right now, and 1.8 million square feet of commercial. Town limits have grown from 23.9 to 28.2 square miles since 2020. Growth as a percentage falls on its own as a town gets bigger; the 4,003 people Apex added last year would have been a 6.9 percent jump in 2019 and were 4.9 percent today. That is arithmetic, not a slowdown.

The Town's own planners disagreed with him at the time. Apex's Housing Plan Update, published in June 2025, four weeks after his second chart, opens its growth section with one sentence: "Apex is projected to continue its rapid growth through the next decade." Its projection, built on figures from the Town's Planning Department, shows household growth of about 40 percent by 2035.

Apex Housing Plan Update June 2026.

"As the Evidence Shows"

Council Member Ed Gray's October 27, 2025 post, shared by Mahaffey a week before the election, with his comment beneath it.
Council Member Ed Gray's October 27, 2025 post, shared by Mahaffey a week before the election, with his comment beneath it.

Just days before the last election, Ed Gray took a shot at two other candidates for getting the HBA endorsement and then made the claim, "as the evidence shows, development has slowed down during my time on Council..."

Let's think about this for a moment. Ed poasted this on October 27, 2025 (which is FY 25/26). Why isn't the completed FY 24/25 on this graph?

Also, those numbers are not the real numbers. Here's the actual numbers:

Actual growth numbers and growth rate using Town of Apex's official data.

The real read is that during Ed's last four year's on Council (using FY25 compared to FY21), Apex's population grew by 13,377 people which is a 19.5% increase.

The best part of all, you don't have to take my word for it. You can see it for yourself here.

"Growth is down 75 percent"

Oh look, Mahaffey shared the inaccurate chart and doubled-down on the inaccurate claim.

Council Member Ed Gray's October 27, 2025 post, shared by Mahaffey a week before the election, with his comment beneath it.
Council Member Ed Gray's October 27, 2025 post, shared by Mahaffey a week before the election, with his comment beneath it.

A week before last November's election, Mahaffey shared a chart from Council Member Ed Gray showing new residents falling from 7,174 a year to 1,834. Gray wrote that growth had slowed "because of 1) good policies and 2) I haven't taken HBA money," meaning the Home Builders Association.

Two residents pointed this out in the comments, with a link to the current report - one to Ed and one to Terry.

Neither council member replied. The post stayed up through the election and Mahaffey is referencing the false 75% claim still to this day.

Biggest Year

He had the right number a few months prior. On May 3, Mahaffey had posted his own growth-rate chart with the actual numbers. It showed FY 2023–24 at 4.9 percent, which matches the Town's full-year count. But a week before election day, that number from the previous year somehow got much smaller.

Contradictory Statements
Show as a table
Fiscal yearChange in Town population estimateTown's Aug. 2025 reportGray chart
2018–194,273
2019–206,0457,174
2020–214,2844,590
2021–223,1483,0453,045
2022–233,1502,8152,815
2023–243,7143,8931,834
2024–253,3653,306
2025–264,003453 (partial year)

Using the Town's full-year numbers, the drop from the 2020 peak to 2023–24 was about 39 percent, not 75. The two years since came in at 3,365 and 4,003. Last year Apex added more people than in any year since 2021.

"This should be required for all candidates"

Mahaffey's comment on the October 27, 2025 post.
Mahaffey's comment on the October 27, 2025 post.

Let's go back to that October post - Mahaffey praised Gray and two other candidates for pledging not to take money from developers or developer PACs. "This should be required for all candidates in all Town Council races," he wrote, "as most of the decisions we make directly impact developers."

NC State Board of Elections campaign finance report: $5,000 from NC REALTORS PAC.
NC State Board of Elections campaign finance report: $5,000 from NC REALTORS PAC.

Two years earlier, running for his own seat, Mahaffey took $5,000 from the political action committee of NC REALTORS, the state's real estate trade group. He is not the only one; Council Member Zegerman took money from the same PAC.

Realtors are not home builders. But their PAC and the builders' lobby want the same thing from town hall. NC REALTORS PAC says it gives to local candidates because local government "has the most direct impact on zoning, development and resource allocation."

When argued that the Realtor PAC isn't basically the same thing as the NC Builders Association PAC, you might be interested to know that NC Realtor PAC's inditiative is literally called More Homes NC.

Its statewide campaign says the housing problem is a shortage of supply and local rules are in the way. The 760,000-home shortage figure behind this year's state legislation came from a study NC REALTORS paid for together with the NC Home Builders Association and the NC Chamber.

NC REALTORS celebrated House Bill 162, which took away towns' power over parking, and Senate Bill 445, which lets apartments go up by right in larger cities. Mahaffey wrote on his blog that "the Home Builder lobby has bought and paid for the Republican caucus," and that SB 445 means "no tree protection standards or buffering." The lobby he says bought the legislature and the PAC that gave him $5,000 lobbied for the same bills.

Part three

How the trick works

Apex does not have a tree protection ordinance the way Chapel Hill or Durham does. It has a set-aside rule. Every new development draws a line around part of its land and leaves what is inside alone: 10 percent inside the Peakway, 20 percent north and east of 540, 30 percent south and west of it, where the woods are.

IMG_GFX_RCA_TIERS
Show as a table
WhereRequired set-aside
Inside the Apex Peakway loop10% of the site
North and east of NC 54020%
South and west of NC 54030% for houses and townhomes, 25% for apartments and commercial
Planned Unit DevelopmentsSet by council, starting from the numbers above

The rule never says the set-aside has to contain trees. It never asks how many trees were on the land to begin with. And the list of what counts is mostly land a developer could not build on anyway, or was already required to leave alone.

The ordinance is candid about this. The sentence that sets the 30 percent number doesn't say 30 percent conservation; it says the project "shall provide buffers and RCA equal to or greater than 30% of the gross site acreage." The buffers were always meant to be counted.

IMG_GFX_WHAT_COUNTS
Show as a table
Counts toward the set-asideWhy it costs nothing
FloodplainsCan't be built on
Stream buffers and wetlandsAlready required under Jordan Lake water rules
Slopes steeper than 3:1Too steep to build on
The landscape strips along property lines and roadsRequired by a different part of the same ordinance
Stormwater ponds, including the water and the damRequired anyway; counted at 100%
Solar panels on the pond damEquipment
Pools, tennis courts, playgrounds, lawnsAmenities the developer builds anyway; counted at 50%
Sewer and utility easementsKept clear by the Town
Bare ground replanted with seedlingsAllowed when the site lacks enough of the above
Farm ponds, rock outcroppings, cemeteries, scenic viewsNot trees

The pond is the part to remember. The ordinance bans grading and tree removal inside a conservation area, then lists the exceptions, and the first one is digging a stormwater pond. The basin, the water and the dam all stay on the books as conserved land. Developers build those ponds because the Town requires them, to replace what the woods did for free. Then the rule counts the pond as the woods.

There are two more ways to owe less. Build denser, at seven homes an acre or more, and council can cut the set-aside by up to 10 points; that clause was added in 2020, in the same vote that raised the requirement. Or promise 10 percent affordable housing and ask for a 10-point cut; the same policy lets the developer pay a fee instead of building the affordable homes, and says paying the fee does not stop them from asking for the cut.

What this looks like on a real plan. We pulled the approved plans for the last four projects we could get. Every one met or beat its number. Not one set aside an acre of upland forest by choice. Ashburn, 15 wooded acres on Mt. Zion Church Road, approved 5–0 last October: its 31.5 percent is a creek buffer state law already protects, the landscape strips the ordinance already requires, two ponds, and half-credit for a lawn. Take out the ponds and the lawn and it falls short. Townes on 1011, 26 acres on Old US 1, being built now: its buffers came up 1.15 acres short, and a pond and two playing fields made up the difference.

IMG_GFX_ASHBURN
IMG_GFX_TOWNES

At the April 30 work session on tree protection, the Town's planning manager, Amanda Bunce, "encouraged Council to keep in mind that Resource Conservation Areas are generally undisturbed areas that already contain tree canopy." Ashburn's set-aside is a creek corridor, two ponds and a lawn. Townes on 1011 hit its number with a retention basin and two playing fields. The plans do not match the assumption. Staff's own presentation that day said the amenity credit "directly undermines" the rule's purpose.

Gracewood and Welch Homestead. In that 2021 post, the development Mahaffey called "a massive disaster" was Gracewood, 233 acres in New Hill approved in 2017 under the old 25 percent rule. "There is zero chance this would get approved today as is," he wrote. Gracewood's plan sets aside 26.4 percent of the site, all of it in stream, perimeter and street buffers. No ponds. No lawns.

This April, council approved Welch Homestead, 83 acres on Old US 1, nearly all of it trees, 5–0, with Mahaffey seconding. Its application says of the conservation area: "This hasn't been determined yet." Its 35 percent is the 30 percent base plus a 5-point surcharge that applies when the developer bulldozes the lots flat, which the developer's engineer explained to council on the record: "5% extra for mass grading the single family."

From the drawings, the stream buffers, perimeter strips and utility easements the developer had to leave alone anyway add up to roughly 20 of the 29 acres. Ponds, which count at full credit, will take most of the rest.

The share of that forest Apex's rule saves, that nothing else would have, is on the order of five to seven acres out of 83. Mahaffey had sent the developer back to the Environmental Advisory Board in March to accept more of its conditions.

What came back: solar panels pre-installed on 13 homes, and nothing about keeping a tree. He called it "a big impact on quality." The "massive disaster" set aside more buffer than the project he seconded.

Part four

Who's at the wheel

None of this is new to him. On September 26, 2023, the same night council saw the county's study, it took up a proposal "requested by Council Member Mahaffey" to raise the south-of-540 set-aside to 50 percent, with buy-downs for solar and affordable housing. Council sent it to committee for more work. Three years later it has not come back. The number is still 30.

Four weeks after that meeting he told voters the controls were among the most robust in the state. Two years after that, council approved Veridea, the largest rezoning in Town history, in the same tier, under the same rule.

On April 30 of this year, at the tree work session, staff told council in writing that the credit for lawns and paved amenities "directly undermines" the rule's purpose, and that "no dedicated position currently exists" to review tree preservation; Cary, Charlotte, Durham, Morrisville, Raleigh and Wake Forest all have an urban forester.

Mahaffey asked the right question that day: whether "mandatory tree preservation measures had been evaluated." Staff said they could study it later. Since then: no tree amendment has come before council. The budget adopted June 9 funded 15.5 new positions and no forester. Under council's own new-initiative process, a funded forester cannot arrive before July 2027.

The Town's Plant the Peak program will give away about 250 trees in January. At the county's measured rate, Apex clears that much canopy every few days.

So here is the structure:

A council member who helps write development rules, and is the council's link to the board asking for stronger ones, took money from a trade group whose agenda he himself says has bought the legislature, and has told voters for five years that the rules are among the best in the state and that growth has stopped. The Town's own records show that neither is true. He has been in the room for every number in this article.

What the records cannot tell you is whether the $5,000 changed a single vote. The donation is real and legal. This article does not claim the money bought anything.

What it shows is that the man closest to the policy has described it to you inaccurately, repeatedly. You can decide what to make of that.

Final part

Trust, transparency and trees

During his campaign, Terry Mahaffey published three principles. Here they are in his words, next to what happened.

TREES. "A commitment to our natural environment. Development ordinances can be reformed as it relates to keeping existing tree canopy cover. We can have growth but provide a framework so new development better integrates into the existing environment; clearcutting and mass grading is not how Apex keeps its charm and encourages residential and economic advancement."

The ordinance has not been reformed. The set-aside rule is unchanged since 2020, still counts ponds and lawns, and still does not require a single existing tree to be kept. His own 50 percent proposal went to committee in 2023 and never came back. Welch Homestead, which he seconded this April, is 83 wooded acres that will be mass-graded.

TRANSPARENCY. "Knowing what governing bodies are doing, and providing visibility and accountability. Providing visibility into how Apex works in the areas of economic growth, development and citizen engagement. An informed citizenry is an engaged citizenry."

He told you the rules were among the strongest in the state; staff told council they undermine their own purpose. He told you growth was down 75 percent; the Town's number was 39, and he had posted the right figure himself five months earlier. When readers pointed it out, he did not reply.

TRUST. "Trust in our government; the processes and its commitment to listening to and serving the citizens of Apex. How can we continually assess our governing bodies and processes to keep them citizen focused. This also includes reaching out to other local governments to grow our region, because our citizens need advocates across all levels of government."

He wrote that no council candidate should take money from developers or their PACs. His words. He took $5,000 from the Realtors' PAC, which lobbies for the same bills as the builders. The board he serves as liaison sent council ten recommendations in April. Five months later, none is on an agenda and no forester is in the budget.

Those were his standards, not ours. Here is how to hold council to them:

  1. Fund the position. Staff said nobody at the Town is assigned to review tree preservation. Six neighboring towns have an urban forester. Ask council to put one in the budget now, not in July 2027.
  2. Set a real number. He asked in April whether a mandatory tree-preservation percentage had been evaluated. Ask council to put one on an agenda.
  3. Stop counting ponds. Staff already told council the amenity credit undermines the rule. Ask them to end it.
  4. Don't confuse campaigning with transparency. I get it. He's very active on social media. How's that working out for your property tax bill and new construction every time you turn around?
  5. Speak up. Speak at Public Forum. Email Council.
  6. Independently verify. If a councilmember tells you certain reporting is "fake news", "non-sense", or "misinformation" - fact check it. In the words of Terry Mahaffey, "An informed citizenry is an engaged citizenry."

Every document in this article is public and linked. If any fact here is wrong, write to us and we will correct it.

And, of course:

subscribe to The Peak Weekly to make sure you're always informed on the latest going on in Apex!

"