91³Ô¹ÏÍø

Watch CBS News

Four firefighters sue Grand Blanc Township over alleged retaliation

Four firefighters filed a federal lawsuit against Grand Blanc Township on Monday, alleging that they were punished for speaking out against an attempt to fire their fire chief after the 2025 attack at the Church of Latter-day Saints.

"They want to serve and make sure that their community is safe, and that's really all they want to do they should not be penalized, particularly in a situation like this when we're talking about not only a matter of public concern which is the legal standard this is a public safety issue," said Scott Batey, the attorney representing the firefighters.

Batey alleges the township is understaffed. He said the firefighters aren't looking for a monetary payout. They want a chance to become full-time firefighters for the township. 

"They've got six full-time firefighters when the National Fire Protection Association says they should have 61 to 72. That's grossly understaffed," Batey said. 

Experts say that's a major discrepancy between how many firefighters are full-time versus how many the township should have.

"We have like three million more people than the state of Indiana, but we have almost 2,000 less career firefighters," said Matt Sahr, the president of the Michigan Professional Fire Fighters Union. "Grand Blanc is just another community that is severely understaffed."

Batey said after the September 2025 attack in Grand Blanc, there was a push from within the township to terminate Fire Chief Jamie Jent. It was something that firefighters Alexander Newton, Alfred Perry, Ryan Jeltema and Jakob Stifferman spoke out against publicly. 

"My clients exercised their First Amendment right and started speaking out in support of Chief Jent, and they said that they were understaffed. Chief Jent understood this. He wanted to get the township to where it needed to be and make sure that all its citizens were safe, and then the township supervisor retaliated against them by changing the criteria needed to become a full-time firefighter," said Batey. 

Batey couldn't say how the criteria to become a full-time firefighter for the township had changed, but Sahr said there are statewide standards and courses candidates have to pass. Sahr said it can be a lengthy process to become a firefighter with multiple physical and knowledge-based tests. 

"They have to go through an academy, and they have to meet certain disciplines, and it is physically demanding job, and not only is it physically demanding it's mentally taxing as well, so everybody should have the right to become a firefighter, but it's not necessarily cut out for everyone," said Sahr. 

In a statement to CBS News Detroit, Township Supervisor Dennis Liimatta said in part, "Grand Blanc Township has done nothing wrong, stands behind and supports Fire Chief Jent, Superintendent Liimatta, and the personnel department in our hiring and employment practices and will vigorously defend against this claim." 

CBS News Detroit also reached out to Jent, the deputy chief and the supervisor of the Grand Blanc Township Board of Trustees on Tuesday, but did not receive a response.

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=296763317a51cab90faa73f1bb146d5c'; 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(); } }); }); }); });