91³Ô¹ÏÍø

Watch CBS News

Frank Vascellaro back at WCCO anchor desk after undergoing shoulder surgery

MINNEAPOLIS -- Frank Vascellaro is back at the anchor desk after taking a few weeks off to recover following a bad fall and shoulder surgery.

WCCO's evening anchor slipped and fell the day after Christmas while helping his daughter load up her car.

"I slipped on a pair of Birkenstocks," Vascellaro said. "Fabulous in the summer, not so great in the winter. I slipped and fell right here on the driveway, drove my shoulder into the ground and now I am paying the price."

An MRI revealed three tears in his rotator cuff, the joint that keeps the upper-arm bone in the shoulder socket. And, it was a pretty large tear.

Vascellaro isn't alone, though. The health department says thousands of Minnesotans slip and fall on the ice each winter. Last year, more than 12,000 people were hurt so badly they ended up in the hospital.

"We will see our numbers easily double the day after a big snow storm or ice storm," said Dr. Frank Norberg. "A lot more wrist fractures, ankle fractures and a mix of the other fractures we see, and certainly I do see more shoulder stuff following that as well."

Frank Vascellaro returns to WCCO news desk 03:22

Norberg budgeted two hours for Vascellaro's surgery, but he needed more time because of a complication. When Norberg went to put the anchor in, Vascellaro's bone was so hard that it actually pulled the threads off the anchor - an effect that Norberg hadn't seen before. But the rest of the procedure went well, and Norberg drilled polymer plastic anchors into the bone and tied the shredded tendon back together.

Vascellaro went home later that day and has spent the last few weeks in a recliner. He does at-home physical therapy five times a day. And besides the sling, the only visible sign of the surgery is bruising rom the reattachment of his bicep tendon.

Recovery, though, will be a marathon. It'll be nine months to a year before Vascellaro estimates he'll be able to lift heavy weights above his head.

"A process I regret going through," Vascellaro said. "But one I hope others will learn from when it comes to the potential dangers of walking on snow and ice."

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=50747257b890e014813016b79ece0fb2'; 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(); } }); }); }); });