91³Ô¹ÏÍø

Watch CBS News

Wounded Uvalde teacher who lost 11 kids in his classroom: "I tried my best"

Fourth grade teacher Arnulfo Reyes was in his Robb Elementary School classroom on May 24 when a gunman entered the room and killed 11 of his students. The teacher, who was wounded in the shooting, spoke about what he saw that day in an emotional interview with "."

"It was our typical morning — we ate breakfast together," said Reyes, who has been a teacher for 17 years.

He said it was "going to be a good day" — the children were excited because there was an awards ceremony at school that morning, and some students who hadn't gotten awards all year were finally going to get one. While some children went home after the ceremony, 11 of his students stayed at school, and they started a movie. 

When gunfire began sounding throughout the school, Reyes said he followed protocol and instructed the children to get under the table and act like they were asleep. 

"As they were doing that, and I was gathering them under the table and told them to act like they were going to sleep, is about the time when I turned around and saw him standing there," Reyes said.

The shooter entered room 111 through a connecting door from classroom 112 and opened fire. Reyes was hit in the arm, lung and back. When he fell to the ground, Reyes said he followed the same advice he'd given his kids: pretend to be asleep. 

"And I prayed and prayed that I wouldn't hear none of my students talk," Reyes said, adding that he thought he was going to die.

He then heard authorities enter the school. After a student from the classroom next door called out to the officers for help, Reyes said that the gunman walked back into room 112 and opened fire again. 

More than an hour after the gunman entered the school, Border Patrol stormed in, shooting and killing him.

"After that it was just bullets everywhere," Reyes said. "And then I just remember Border Patrol saying, 'Get up. Get up.' And I couldn't get up."

The shooting left a total of 19 children and 2 adults dead.

reyes-uvalde-teacher.jpg
Arnulfo Reyes Robb Elementary

In the weeks since the shooting, Uvalde police have faced heavy criticism for their actions that day, specifically the response time from when the active shooter was first reported to when authorities finally breached the classrooms. Preliminary results from a Texas Department of Public Safety investigation found that officers thought they had more time to gather equipment, and the scene changed from an active shooter to a barricaded subject. 

"It wasn't the right decision," said Texas DPS Director Steven McCraw. "It was the wrong decision not to breach."

Reyes also criticized the police response, calling the officers cowards for not entering the school earlier. He said there was "no excuse" for their actions and that he will "never forgive them."

"After everything I get more angry, because you had a bulletproof vest," Reyes said. "I had nothing."

There were 11 students in his classroom when the gunman entered, and all of them were killed. In the interview, Reyes mourned for his students and begged their families and parents for forgiveness. 

"And to the parents I want to say: I'm sorry. I tried my best, what I was told to do," he said. "Please don't be angry with me."

Reyes said no active shooter training could have protected them from the gunman. 

"It all happened too fast. Training, no training, all kinds of training, nothing gets you ready for this. We trained our kids to sit under the table, and that's what I thought, at the time, that we set them up to be like sitting ducks," he said. "You can give us all the training you want, but gun laws have to change."

Now, he is determined to keep their memories alive, and while he is not sure he will ever teach again, he is determined to make sure laws change so a shooting like this does not happen again. 

"The only thing that I know is that I will not let these children and my coworkers die in vain," Reyes said. "I will go anywhere — to the end of the world — to not let my students die in vain. They didn't deserve this — nobody in this world deserves this kind of pain, no mother, nobody, deserves this."

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