NYPD captain caught on tape calling Mamdani an ’embarrassment’
A New York City Police Department captain has come under fire and transferred from his position after he was caught on tape calling Mayor Zohran Mamdani an “embarrassment” and saying Democrats were a “waste of human race.”
A video circulated online showing Captain James G. Wilson sharply criticizing the mayor while in uniform as onlookers watched.
Here is everything to know about the situation.
Video of NYPD captain goes viral for comments on Mamdani
The clip, posted online by @untilfreedom, shows a smiling Wilson surrounded by other officers in the middle of a street.
It was recorded Saturday night in Bushwick, where protests broke out after U.S. Immigration and Customs Enforcement agents brought a detainee to a local hospital, according to reporting by The New York Times.
In the video, Wilson was talking to onlookers as he says of the mayor: “He’s temporary, he’s expendable, he’s temporary. Who’s Mamdani?”
An onlooker responded, calling Mamdani his boss. But Wilson disagreed.
“Nah, he’s total nonsense,” Captain Wilson says in the video. “He’s an embarrassment and total nonsense.”
He then says Mamdani isn’t his mayor and calls “all Democrats” a “waste of human race.”
NYPD captain transferred after video
After the video came out, Wilson, 51, was transferred to the communications division, which includes the 911 call center in the Bronx, from his position as the executive officer of the 94th Precinct in Brooklyn, the Times reported.
He is also now facing a disciplinary process for his remarks on Democrats, the outlet said. Officers are barred from expressing opinions “concerning the merits of any political party or candidate for public office.”
Both the NYPD and the mayor’s office did not immediately respond to a request for comment by USA TODAY.
(function () { let route = window.ga_data.route, headline = route.headline || document.title, url = route.url, sponsoredText = (route.sponsoredSeries || route.sponsoredStory) ? 'Story From ' + route.sponsoredName + ': ' : '';
nsbFacebookURL(url, headline); nsbTwitterURL(url, headline, sponsoredText); nsbEmailURL(url, headline, sponsoredText); nsbSMSURL(url, headline, sponsoredText);
function nsbFacebookURL(url, headline) { let ele = document.querySelectorAll('.nsb-facebook'); if (!ele) return;
nsbSetLink(ele, `https://www.facebook.com/dialog/feed?app_id=${window.ga_data.site.facebook.appid}&redirect_uri=${window.location.href}&link=${url}&name=${encodeURIComponent(headline)}`); }
function nsbTwitterURL(url, headline, sponsoredText) { let ele = document.querySelectorAll('.nsb-twitter'); if (!ele) return;
let text = encodeURIComponent(`${sponsoredText}${headline}`); nsbSetLink(ele, `https://twitter.com/intent/tweet?text=${text} ${url} via @${window.ga_data.site.twitter.primary_account}`); }
function nsbEmailURL(url, headline, sponsoredText) { let description = document.querySelector('meta[name="description"]') ? encodeURIComponent(document.querySelector('meta[name="description"]').getAttribute('content')) : null, siteName = window.ga_data.site.publicationName, text = encodeURIComponent(`${sponsoredText}${headline}`);
if (!description && text) ele.remove(); else nsbSetLink(document.querySelectorAll('.nsb-email'), `mailto:?subject=${siteName} ${text}&body=From ${siteName}%0D%0A${text}%0D%0A${description}%0D%0A%0D%0A${url}%0D%0A%0D%0A%0D%0A%0D%0A`); }
function nsbSMSURL(url, headline, sponsoredText) { let ele = document.querySelectorAll('.nsb-text'); if (!ele) return;
let text = encodeURIComponent(`${sponsoredText}${headline}`) + '%0A%0A'; nsbSetLink(ele, `sms:?&body=${text}${encodeURIComponent(url)}`); }
function nsbSetLink (ele, url) { let links = ele; links.forEach(link => { link.setAttribute('href', url); }); } })();
function fireNavShareAnalytics (type) { try { let analytics = document.getElementById("pageAnalytics"), section = ga_data.route.sectionName || ga_data.route.ssts.split('/')[0]; if (analytics) { analytics.fireEvent(`${ga_data.route.basePageType}:${section}:nav-share-buttons:${type}`); } else { if (window.newrelic) window.newrelic.noticeError('page analytics tag not found'); } } catch (e) { if (window.newrelic) window.newrelic.noticeError(e); } }