ADVERTISEMENT

3 people shot at a Dallas ICE facility and the shooter is dead, official says

Published Sep 24, 2025 11:05 pm
Police block off the street close to a U.S. Immigration and Customs Enforcement office after a reported shooting, in Dallas on Wednesday, Sept. 24, 2025. (AP Photo/Julio Cortez)
Police block off the street close to a U.S. Immigration and Customs Enforcement office after a reported shooting, in Dallas on Wednesday, Sept. 24, 2025. (AP Photo/Julio Cortez)
DALLAS (AP) — Three people, including detainees, have been shot at a U.S. Immigration and Customs Enforcement facility in Dallas and the shooter is dead from a self-inflicted gunshot wound, federal authorities said.
Acting ICE Director Todd Lyons confirmed the shooting during an interview on CNN on Wednesday.
Homeland Security spokesperson Tricia McLaughlin later told Fox News that no ICE agents were injured.
“We believe he was shooting at law enforcement and detainees from an apartment building,” McLaughlin said. ”Detainees were among the victims of the shooting."
Officers responded to a call to assist an officer on North Stemmons Freeway around 6:40 a.m. Wednesday and the preliminary investigation determined that a person opened fire at a government building from an adjacent building, Dallas police spokesperson Officer Jonathen E. Maner said in an email.
The Dallas Fire-Rescue Department was also dispatched after a call reporting a shooting at or near the immigration office, department spokesperson Jason L. Evans said in an email.
Parkland Hospital has received two patients from the shooting, hospital spokesperson April Foran said by telephone. She did not have any details about their conditions.
A third person died at the scene after the shooting, Maner said. The investigation is ongoing and a briefing was expected later in the day.
Dozens of emergency vehicles were seen along a highway near the facility.
The ICE facility is along Interstate 35 East, just southwest of Dallas Love Field, a large commercial airport serving the Dallas-Fort Worth metropolitan area, and just blocks from hotels catering to airport travelers.
Traffic cameras near the scene showed six lanes of a normally busy freeway empty, with cars and semitrailers ground to a halt on an interstate exit.
Homeland Security Secretary Kristi Noem said details were still emerging, but the agency was confirming there were “multiple injuries and fatalities” at the field office. Noem said the motive remained unclear, but noted there has been an uptick in targeting of ICE agents.
ICE and Homeland Security didn’t immediately provide additional details.
A July 4 attack at a Texas immigration detention center injured a police officer, who was shot in the neck. Attackers dressed in black military-style clothing opened fire outside the Prairieland Detention Center in Alvarado, southwest of Dallas, federal prosecutors said. At least 11 people have been charged in connection with the attack.
A man with an assault rifle fired dozens of rounds at federal agents as they were leaving a U.S. Border Patrol facility in McAllen on July 7. The man, identified as Ryan Louis Mosqueda, injured a police officer who responded to the scene before authorities shot and killed him. Police later found other weaponry, ammunition and backpacks inside his car.

Related Tags

WORLDNEWS
ADVERTISEMENT
.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1561_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1562_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1563_widget.title }}

{{ articles_filter_1564_widget.title }}

.mb-article-details { position: relative; } .mb-article-details .article-body-preview, .mb-article-details .article-body-summary{ font-size: 17px; line-height: 30px; font-family: "Libre Caslon Text", serif; color: #000; } .mb-article-details .article-body-preview iframe , .mb-article-details .article-body-summary iframe{ width: 100%; margin: auto; } .read-more-background { background: linear-gradient(180deg, color(display-p3 1.000 1.000 1.000 / 0) 13.75%, color(display-p3 1.000 1.000 1.000 / 0.8) 30.79%, color(display-p3 1.000 1.000 1.000) 72.5%); position: absolute; height: 200px; width: 100%; bottom: 0; display: flex; justify-content: center; align-items: center; padding: 0; } .read-more-background a{ color: #000; } .read-more-btn { padding: 17px 45px; font-family: Inter; font-weight: 700; font-size: 18px; line-height: 16px; text-align: center; vertical-align: middle; border: 1px solid black; background-color: white; } .hidden { display: none; }
function initializeAllSwipers() { // Get all hidden inputs with cms_article_id document.querySelectorAll('[id^="cms_article_id_"]').forEach(function (input) { const cmsArticleId = input.value; const articleSelector = '#article-' + cmsArticleId + ' .body_images'; const swiperElement = document.querySelector(articleSelector); if (swiperElement && !swiperElement.classList.contains('swiper-initialized')) { new Swiper(articleSelector, { loop: true, pagination: false, navigation: { nextEl: '#article-' + cmsArticleId + ' .swiper-button-next', prevEl: '#article-' + cmsArticleId + ' .swiper-button-prev', }, }); } }); } setTimeout(initializeAllSwipers, 3000); const intersectionObserver = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { const newUrl = entry.target.getAttribute("data-url"); if (newUrl) { history.pushState(null, null, newUrl); let article = entry.target; // Extract metadata const author = article.querySelector('.author-section').textContent.replace('By', '').trim(); const section = article.querySelector('.section-info ').textContent.replace(' ', ' '); const title = article.querySelector('.article-title h1').textContent; // Parse URL for Chartbeat path format const parsedUrl = new URL(newUrl, window.location.origin); const cleanUrl = parsedUrl.host + parsedUrl.pathname; // Update Chartbeat configuration if (typeof window._sf_async_config !== 'undefined') { window._sf_async_config.path = cleanUrl; window._sf_async_config.sections = section; window._sf_async_config.authors = author; } // Track virtual page view with Chartbeat if (typeof pSUPERFLY !== 'undefined' && typeof pSUPERFLY.virtualPage === 'function') { try { pSUPERFLY.virtualPage({ path: cleanUrl, title: title, sections: section, authors: author }); } catch (error) { console.error('ping error', error); } } // Optional: Update document title if (title && title !== document.title) { document.title = title; } } } }); }, { threshold: 0.1 } ); function showArticleBody(button) { const article = button.closest("article"); const summary = article.querySelector(".article-body-summary"); const body = article.querySelector(".article-body-preview"); const readMoreSection = article.querySelector(".read-more-background"); // Hide summary and read-more section summary.style.display = "none"; readMoreSection.style.display = "none"; // Show the full article body body.classList.remove("hidden"); } document.addEventListener("DOMContentLoaded", () => { let loadCount = 0; // Track how many times articles are loaded const offset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // Offset values const currentUrl = window.location.pathname.substring(1); let isLoading = false; // Prevent multiple calls if (!currentUrl) { console.log("Current URL is invalid."); return; } const sentinel = document.getElementById("load-more-sentinel"); if (!sentinel) { console.log("Sentinel element not found."); return; } function isSentinelVisible() { const rect = sentinel.getBoundingClientRect(); return ( rect.top < window.innerHeight && rect.bottom >= 0 ); } function onScroll() { if (isLoading) return; if (isSentinelVisible()) { if (loadCount >= offset.length) { console.log("Maximum load attempts reached."); window.removeEventListener("scroll", onScroll); return; } isLoading = true; const currentOffset = offset[loadCount]; window.loadMoreItems().then(() => { let article = document.querySelector('#widget_1690 > div:nth-last-of-type(2) article'); intersectionObserver.observe(article) loadCount++; }).catch(error => { console.error("Error loading more items:", error); }).finally(() => { isLoading = false; }); } } window.addEventListener("scroll", onScroll); });

Sign up by email to receive news.