Local News
The officer’s death was a key part of a monthslong scandal which culminated in the Haverhill police chief’s retirement.
Haverhill police have revealed what caused an officer’s sudden death last year, an incident which led in part to the department chief’s retirement.
Katelyn Tully died Sept. 26, 2025 at age 32 from probable cardiac dysrhythmia of unknown medical causes, Haverhill Police Chief Wayne Tracy said in a press release. Tully, a decorated army veteran who served in Afghanistan for six months, was buried with military honors.
“Officer Tully’s passing has had a profound impact on this department and the community she served,” police said in the release. “Her dedication, professionalism, and compassion left a lasting impression on all who had the privilege to know and work alongside her.”
Haverhill Mayor Melinda Barrett echoed these sentiments, describing Tully as an officer who “served the City of Haverhill and her country with passion and honor.”
“She is missed dearly and her legacy will always be of a kind, compassionate, and dedicated young woman who positively touched the lives of so many people,” Barrett said on Facebook. “I hope the news of her official cause of death brings some comfort to her loved ones who continue to grieve and have long awaited the Medical Examiner’s determination.”
Two weeks after Tully’s death, Robert Pistone, the city’s police chief at the time, was placed on leave. Tensions were already high after 43-year-old Francis Gigliotti died while being restrained by Haverhill police officers in July 2025, and Tully’s death worsened matters.
Seven Haverhill officers were placed on leave following Gigliotti’s death, and Tully was reportedly one of them. Her father told The Eagle-Tribune that he believed Tully had died of a stress–induced heart attack.
Though Wednesday’s statement did not explicitly reference Tully’s father’s claim, Haverhill police acknowledged that her death left many people in the community looking for the full story.
“We understand there has been speculation and inaccurate information circulating regarding the circumstances of her death,” police said. “It is our hope that the release of these official findings will provide clarity and help put these rumors to rest, allowing Officer Tully’s family, friends, and colleagues the space to continue grieving and remembering her life and service with dignity.”
Days before Pistone was placed on leave, an anonymous letter which criticized him and was purportedly written by family members of Haverhill police officers was posted online. He also faced increased scrutiny from members of his department.
The letter, posted by the Lawrence Patrolmen’s Association and shared by the Haverhill Police Patrolman’s Association (HPPA), accused Pistone of lacking experience, retaliating against others, and failing to support his officers. It also claimed that he had targeted officers and intimidated them behind closed doors.
“Every action since Officer Tully’s death has been transparent in its desperation to preserve your own power,” the letter read. “You have not stood before your officers at roll call, not spoken to them in their grief, not asked how they are enduring. You calculate how to save face while those you command drown in grief. That blindness, that self-absorption, has become your legacy. The death of Officer Tully shook this department to its core. That you cannot even comprehend the depth of this wound reveals how unfit you are to lead.”
Pistone retired Oct. 9 when the HPPA issued a vote of no confidence in him and Deputy Chief Stephen Doherty Jr. The next day, Doherty, who replaced Pistone, was also placed on paid leave, and Tracy replaced him.
Barrett subsequently launched an independent investigation into Haverhill’s police leadership. The “targeted review” focuses on the department’s operations, policies, and practices.
Sign up for the Today newsletter
Get everything you need to know to start your day, delivered right to your inbox every morning.
/* */
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
const onetrustStorageConsent = JSON.parse(localStorage.getItem( 'consent_one_trust_bdc' ) );
if ( ( onetrustStorageConsent !== null ) ) {
/* The above code is parsing the JSON data from the local storage and storing it in a variable.
* Checking if the user has given consent for the cookie C0004.
* If the user has given consent, the variable consent will be set to 'grant'.
* If the user has not given consent,the variable consent will be set to 'revoke'.
* Documentation https://developers.facebook.com/docs/meta-pixel/implementation/gdpr
*/
if ( onetrustStorageConsent.C0004 !== true ) {
fbq('consent', 'revoke');
fbq('dataProcessingOptions', []);
} else {
fbq('consent', 'grant');
fbq('dataProcessingOptions', ['LDU'], 0, 0);
}
}
fbq('init', '989222871864976');
fbq('track', 'PageView');
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function()
{n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}
;if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','https://connect.facebook.net/en_US/fbevents.js');
const onetrustStorageConsent = JSON.parse(localStorage.getItem( 'consent_one_trust_bdc' ) );
/* The above code is parsing the JSON data from the local storage and storing it in a variable.
* Checking if the user has given consent for the cookie C0004.
* If the user has given consent, the variable consent will be set to 'grant'.
* If the user has not given consent,the variable consent will be set to 'revoke'.
* Documentation https://developers.facebook.com/docs/meta-pixel/implementation/gdpr
*/
if ( ( onetrustStorageConsent !== null ) && (onetrustStorageConsent.C0004 !== true ) ) {
fbq('consent', 'revoke');
fbq('dataProcessingOptions', []);
} else {
fbq('consent', 'grant');
fbq('dataProcessingOptions', ['LDU'], 0, 0);
}
fbq('init', '813236348753005');
fbq('track', 'PageView');
Discover more from USA NEWS
Subscribe to get the latest posts sent to your email.