91³Ô¹ÏÍø

Watch CBS News

El Segundo man says he was arrested after repainting dangerous intersection

An El Segundo father says that he was arrested in early March for taking matters into his own hands by installing stop signs and repainting a neglected and dangerous intersection.

Joseph Brandlin, a lifelong South Bay resident and single father, spoke with CBS LA, noting that he spent $1000 of his own money to make the intersection of Loma Vista Street and W. Acacia Avenue safer by trying to change it from a two-way stop to a four-way stop. 

"I decided to take it into my own hands," Brandlin said, noting that the decision came after hearing about too many close calls at the intersection, which is just feet away from a park. "I went out and purchased 30-inch high-intensity stop signs, the stencils for the STOP letters, which are eight feet long."

screenshot-2026-03-24-184512.png
Joseph Brandlin pointing to the since-covered up STOP letters he painted at an El Segundo intersection. CBS LA

He says that a four-way crosswalk should automatically mean that the intersection is a four-way stop, especially since it's close to the park and located at a downhill. 

Despite his good intentions, Brandlin was caught in the act while working in the middle of the night to refurbish the crosswalks and install the street signs, leading to a night in the Hawthorne Jail. Now, he says he's facing felony charges. 

"Grand theft for taking cones from a nearby construction site and vandalism of city property," Brandlin said. "I'll do it again if that's what it takes. Because I'm not gonna wait for somebody to die."

screenshot-2026-03-24-184540.png
One of the stop signs Joseph Brandlin installed at the intersection of Loma Vista Street and W. Acacia Avenue in the city of El Segundo before he was arrested in early March. Joseph Brandlin

Brandlin says that he's one of many community members who have been asking for the intersection to become a four-way stop for years. Despite this, El Segundo police said in 2024 that a traffic assessment revealed: "There are no adverse left-turn conflicts, pedestrian conflicts, or visibility constraints that would justify the installation of 4-way stop signs."

Instead, the city added crosswalks across each section of the intersection. 

Brandlin says that it's "mind-boggling" that the city wouldn't make the transition since "75% of this city is a four-way stop."

After his arrest, he took 74 letters from some of his neighbors to the El Segundo City Council meeting last week supporting his efforts. In the days since, the stop signs that Brandlin installed have been removed, but he says the safety concerns that led him to make the change in the first place still remain. 

screenshot-2026-03-24-184554.png
The intersection of Loma Vista Street and W. Acacia Avenue in El Segundo. CBS LA

This is the second time in recent months that a Los Angeles County "crosswalk vigilante" has been arrested for taking matters into their own hands when it comes to street safety. In July last year, Jonathan Hale sparked debate amongst West Los Angeles residents when he painted crosswalks on the four intersections surrounding a park in the Sawtelle neighborhood. The incident led to his eventual arrest, but not before official city crews repainted the same crosswalks a week later.

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