91³Ô¹ÏÍø

Watch CBS News

Car being pulled from Oregon river may be linked to family that mysteriously vanished in 1958

Authorities planned to pull several vehicles from the Columbia River on Thursday, including a car believed to have belonged to a Portland couple who vanished in 1958 while out for a drive with their three daughters, including two whose bodies washed up at a dam the following year.

The station wagon believed to belong to Ken and Barbara Martin was found last fall by Archer Mayo, a diver who had been looking for the car for seven years, said Mayo's representative, Ian Costello. Mayo pinpointed the likely location and dove several times before finding the car upside down about 50 feet deep, covered in mud, salmon guts, silt and mussel shells, he said.

After matching a partial plate, officials now say they are 99% sure this is the Martins' car, , and a barge with a crane attached is set to pull the car out of the river.

"This is a very big development in a case that's been on the back of Portland's mind for 66 years," Costello told The Associated Press.

Officials said that, despite the vehicle sitting upside down with debris on top of it, it's largely intact, KOIN-TV reported.

The Martins took their three daughters on a car ride to the mountains in December 1958 to collect Christmas greenery, the Oregonian/OregonLive reported. They never returned. The bodies of two daughters were found the following year near the Bonneville Dam, but the rest of the family was never located.

The incident was deemed an accident but the discovery of a damaged gun floating to the surface raised questions.

"It's been a high public interest case," Pete Hughes, a Hood River County sheriff's deputy, told the AP. After Mayo provided part of the license plate number and other vehicle identifiers, the sheriff's office and the Columbia Gorge major crimes team, along with the Oregon State Crime Lab, arranged to have the car pulled out, he said.

"We're not 100% sure it's the car," Hughes said. "It's mostly encased in mud and debris, so we don't know what to expect when we pull it out of the water today."

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

Mayo runs a business that finds things that were lost in the river, like watches and rings, but also helps with the recovery of drowning victims, Costello said. He had been looking for a research vessel that sank in 2017 when he learned about the Martin family, Costello said.

Mayo began digging up material on the family and used modeling to pinpoint the possible location, he said. Mayo found other cars nearby, which will need to come out before the construction company pulls out the station wagon and authorities get answers to a 66-year-old mystery, Costello said.

There is a road near where the cars were found underwater. Authorities haven't said whether they think they might find the remains of any other missing people in any of the other vehicles being pulled from the river.

In 2020, .

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