91³Ô¹ÏÍø

Watch CBS News

Wilmington DMV to reopen nearly 3 months after deadly shooting

The Delaware Division of Motor Vehicles has reopened its Wilmington location, about two-and-a-half months after a Delaware State Police trooper was shot and killed inside the building.

The Wilmington DMV resume operations at 8 a.m. on Tuesday, March 10, though service will be by appointment only.

Residents can or by calling 302-744-2500. The appointment system will remain in effect for at least a month, but the Delaware City, Dover and Georgetown DMV locations are still available for walk-ins.

The Wilmington location on Hessler Boulevard has been closed since late December, when 34-year-old Cpl. Matthew "Ty" Snook was fatally shot by 44-year-old Rahman Rose in what police called a "targeted attack" on law enforcement.

Snook, a 10-year veteran of the Delaware State Police, was working an overtime shift at the DMV when Rose entered the building and sat in the waiting area for several minutes before pulling out a gun. Police said Rose then "ambushed" Snook from behind and shot him multiple times.

Rahman was shot and killed by a New Castle County police officer who responded to the shooting. No one else was killed in the attack.

C.R. McLeod, DelDOT's director of community relations, told CBS News Philadelphia a security assessment of the facility was done following the shooting, and several changes were made to attempt to make the facility safer. 

"One of the first things that you'll notice when you come to the facility is that we will have a weapons detection system for all customers that are entering the DMV," McLeod said. "This will be staffed by a private security contractor, so anyone entering the facility will now need to pass through security before entering the facility."

The security system will also be implemented at three other DMV locations next week. According to McLeod, the system is similar to the technology used at Citizens Bank Park and Lincoln Financial Field.

After entering the building, customers will walk up to a new greeter station, which will be completely enclosed with badge access required to enter.

State police will continue to be present at the location. 

McLeod said the facility was not only repaired but also freshened up with new paint and carpeting. 

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