91³Ô¹ÏÍø

Watch CBS News

Anoka official says shutdown of Northstar Commuter Rail will hurt residents, growth

The Northstar Commuter Rail between Minneapolis and Big Lake, Minnesota, is set to end service in early 2026, a decision that's drawing sharp criticism from city leaders in Anoka.

Mayor Erik Skogquist says the closure will hurt residents and local redevelopment efforts tied to the station.

"There are a fair amount of people that like to utilize that service here, especially for special events," Skogquist said. "To see that disappear and to go away while the Met Council's pushing other services of light rail is really a head scratcher to me."

The Metropolitan Council voted this summer to suspend rail operations, citing low ridership and high costs. According to the group, Northstar's average subsidy reached about $116 per ride in 2023 — one of the highest in the nation.

Anoka and neighboring cities had invested heavily in the rail corridor, buying and clearing industrial properties near the tracks to make way for new housing and mixed-use development.

"We spent a lot of money clearing those sites and getting redevelopment," Skogquist said. "That's really a big draw for one of our last large redevelopment areas in the city."

The mayor says ridership declined after COVID-19 and never recovered, partly because service frequency was cut and never restored. He blames what he calls poor management and inconsistent commitment from regional leaders.

"If people want to use it, it needs to be reliable and have some options, and those just never really came back," he said.

Skogquist argues it's unfair that the council continues to fund new light rail projects elsewhere while removing service from the northwest metro.

"I don't see how you can disinvest from one corridor while putting in billions of dollars in another," he said. "It's just not equitable."

Anoka officials say they still haven't received clear answers about what will happen to the station, parking ramp and nearby infrastructure, and who will pay for changes once the trains stop running.

The final Northstar train is expected to roll after the Minnesota Vikings' game against the Green Bay Packers on Jan. 4, 2026.

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=50747257b890e014813016b79ece0fb2'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });