91³Ô¹ÏÍø

Watch CBS News

Maryland man, impersonating contractor, targets Delaware homeowners in home improvement scam

New Castle County Police are searching for a man who they say ripped off several homeowners while posing as a licensed contractor.

In the quiet Pepper Ridge Townhome Community in Pike Creek, police say at least two homeowners fell victim to the home improvement fraud, and are now out hundreds of dollars.

"It's frustrating, and it's despicable," said Ryan Johnston, who lives in the community and feels for his neighbors. "It's a very easy thing to see something that is too good to be true and not ask questions in the moment."

Police say the victims were at a local home improvement store last month when they were approached by 58-year-old Richard Kirchner, of Elkton, Maryland. Police say Kirchner claimed to be a contractor affiliated with the store and agreed to replace doors at the victims' homes.

Maryland man, impersonating contractor, targets Delaware homeowners in home improvement scam
Richard Kirchner, 58, of Elkton, Maryland, wanted for claiming to be a licensed contractor. CBS News Philadelphia

"After the deposit was made, the contractor never came back to install the door, and later it was found the contractor was actually not a part of this box store," said Master Cpl. Richard Chambers.

"So you have people that are out there genuinely who want to do work and help people, and then you have people like this guy who is happy to just simply take money and take advantage of people," Johnston said.

Police believe there may be additional victims.

Kirchner is now wanted on two counts of home improvement fraud and two counts of criminal impersonation.

New Castle County Police posted Kirchner's picture on , and they say the suspect was brazen enough to comment on the post, writing the words, "Nuff said."

"I mean, if he's listening to this, we would like him to turn himself in and contact us so we can make arrangements to get this problem rectified," Chambers said.

If you believe you're a victim and had contact with Kirchner, you're urged to call New Castle County Police's non-emergency number at (302) 573-2800, or by dialing 911.

If you're looking to hire a contractor, experts say do your research, ask friends and neighbors for referrals, and always confirm a contractor's license is active.

CBS News Philadelphia reached out to Kirchner, and he said there is much more to the story.

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