91³Ô¹ÏÍø

Watch CBS News

Judge officially drops 3 charges in Georgia's Trump 2020 election interference case

Fulton County Superior Court Judge Scott McAfee has officially dropped three charges out of dozens in Georgia's election interference case against President Trump and others.

On Friday, McAfee ordered that Counts 14, 15, and 27, conspiracy and criminal attempt to file false documents and filing false documents, respectively, should be dismissed. Mr. Trump had been charged with two of the counts, 15 and 27.

McAfee had signaled in September 2024 that he wanted to remove the charges, arguing that they lie beyond the state's jurisdiction. He was not able to officially drop the charges until the case was remanded to him, which did not happen until Fulton County District Attorney Fani Willis's disqualification was finalized by the Georgia courts.

In Friday's ruling, he said that the defendants' remaining motions challenging the indictment over the Supremacy Clause of the U.S. Constitution were denied, meaning only the three were quashed at this time.

The judge had previously quashed six counts in the indictment, including three against Mr. Trump, in March 2024.

Even with the counts removed, 32 remain, including an overarching racketeering charge brought against the remaining 15 defendants.

Earlier today, attorney Steve Sadow, who is representing Mr. Trump in Georgia, said that his legal team "remain confident that a fair and impartial review will lead to a dismissal of the case" against the president.

A new prosecutor in the Georgia Trump election case

The ruling comes on the same day that Peter J. Skandalakis, the director of the Prosecuting Attorneys Council of Georgia, announced he would be filling the position left vacant by Willis after she was disqualified from the case.

Skandalakis said he had appointed himself to lead the prosecution after his organization could not find another prosecutor before McAfee's Friday deadline. If a prosecutor had not been found, the judge said he would have dismissed all charges.

"The public has a legitimate interest in the outcome of this case," he wrote. "Accordingly, it is important that someone make an informed and transparent determination about how best to proceed." 

Skandalakis said Willis' office delivered 101 boxes of documents on Oct. 29 and an eight-terabyte hard drive with the full investigative file on Nov. 6. Although he hasn't completed his review, he took on the case so he can finish assessing it and decide what to do next.

Though Mr. Trump  earlier this week for people accused of backing his efforts to overturn the  — including those charged in Georgia — presidential pardons only apply to federal charges, and Skandalakis has said that has no bearing on these state charges.

The Associated Press contributed to this report.

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(); } }); }); }); });