91³Ô¹ÏÍø

Watch CBS News

Remains found in car submerged in Oregon river identified as family who mysteriously vanished in 1958

DNA analysis has identified the remains found in a car in the Columbia River as those of an Oregon family that went missing in 1958 while on a trip to find Christmas greenery, authorities said Thursday.

The state medical examiner's office has identified parents Kenneth and Barbara Martin and their daughter Barbie from remains located in the river within the wreckage of the car, the Hood River County Sheriff's Office . The sheriff's office said it concluded its investigation and found no evidence of a crime.

The Ford station wagon thought to belong to the family was found in 2024 by Archer Mayo, a diver who had been looking for it for several years. Authorities pulled part of the car from the river the following year.

Missing Family Car Found
he Hood River County Sheriff's Office and a team of divers retrieve a vehicle from the Columbia River, March 7, 2025, in Cascade Locks, Ore.  Beth Nakamura/The Oregonian via AP, File

The family vanished in December of 1958. The bodies of two of the family's children were found months after the disappearance, but the other members never turned up.

The search for the Martin family was a national news story at the time and led some to speculate about the possibility of foul play, with a $1,000 reward offered for information.

"Where do you search if you've already searched every place logic and fragmentary clues would suggest?" an Associated Press article asked in 1959, months after the disappearance.

Only the frame and some attached components were retrieved from the water because of the "extent to which the vehicle had been encased in sediment," the sheriff's office said. Analysis of those items allowed investigators to conclude that it was indeed the Martin family's car.

Missing Family Car Found
This Christmas photo provided by the Ken Martin family shows, from left, Barbara, Ken, Barbara, Sue, Donald and Virginia in December 1952 in Portland, Ore.  AP

Later in 2025, Mayo located human remains that were ultimately turned over to the state medical examiner's office.

Scientists developed DNA extracts from the remains and generated a profile that was compared with relatives of the Martin family, allowing for the identifications, authorities said.

Othram, a DNA lab in Texas, , which ultimately led to the positive identification.

Othram's Colby Lasyone that more than a dozen experts worked on the case, noting they extracted a bone sample and used advanced techniques to isolate and analyze the DNA. DNA comparisons with a living relative positively identified Kenneth Martin.

"Skeletal remains that have been submerged in water for decades can be particularly challenging to work with," Lasyone said. "Unfortunately, the skeletal remains for the other individuals were too degraded and couldn't be worked with."

Mayo also found remnants of a shoe and a camera case with Kenneth's name and address, seat belt buckles and camera film, KOIN-TV reported.

"Maybe there'll be pictures published one day of what that is, because that's a pretty cool piece to a mystery," he told the the station.

Mayo told KOIN-TV he was gratified the case was finally solved.

"It's not going to get more resolved than it is now and so that feels good," he told the station. "And that really lets us write the last chapter of that book."

In 2020, .

Missing Family-Car Found
Searchers return to the spot in 1999, where they believed the Martin family may have disappeared and compared the scene with a photo of it from 1959, front.  The Oregonian via AP, file
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(); } }); }); }); });