ADVERTISEMENT

Frenchman Antoine Huby conquers brutal Stage 10; Shulchenko keeps yellow jersey in Tour of Luzon

Published May 9, 2026 03:28 pm

At A Glance

  • Coming from the peloton, the 25-year-old 7-Eleven rider latched onto a six-man breakaway in the final 10 kilometers entering Cervantes and overcame a front-wheel flat tire before gradually pulling away on the uphill climb en route to the stage victory.
7-Eleven's Antoine Huby wins Stage 10 of the Tour of Luzon that started in Candon City and ended at the Bessang Pass Natural Monument.
7-Eleven's Antoine Huby wins Stage 10 of the Tour of Luzon that started in Candon City and ended at the Bessang Pass Natural Monument.
CERVANTES, Ilocos Sur -- French rider Antoine Huby conquered the mountainous Stage 10 in the Tour of Luzon while Russian Nikita Shulchenko tightened his grip on the yellow jersey on Saturday, May 9, from Candon City to the summit finish at the Bessang Pass Natural Monument here.
Coming from the peloton, the 25-year-old 7-Eleven rider latched onto a six-man breakaway in the final 10 kilometers entering Cervantes and overcame a light front-wheel problem before gradually pulling away on the uphill climb en route to the stage victory.
After crossing the finish line in 3 hours, 32 minutes and 1 second, he collapsed to the ground in exhaustion following the brutal 124.2-kilometer stage that featured two grueling ascents -- a five-kilometer climb in Carangalan and the Hors Categorie ascent of Bessang Pass that stretched 30 kilometers to the finish.
“It was really important for me to prove to my teammates that I’m a good climber. Today is an important day. It’s a good stage win for me, a good climb and a really nice finish,” said Huby, a national junior and U23 champion in France who also rides for UCI WorldTeam Soudal-Quick-Step.
Shulchenko, who made his move after the punishing ascent along Bessang Pass shattered both the breakaway group and the peloton, checked in 50 seconds later for second while 7-Eleven’s Ronnilan Quita, who was part of the six-rider group chasing Huby and Shulchenko in the last 2.5 kilometers, finished 2:26 minutes behind for third.
“It was really a hard climb because it’s really long, but then we were able to close in the breakaway. I did my best but at around two kilometers from the finish I dropped from Huby,” said Shulchenko, whose cumulative time of 29:34:44 puts him 3:44 minutes ahead of closest pursuer and LCW UAE teammate Yousef Ibraheim Alrefai in the general classification.
Huby’s stage win, for his part, chopped 54 seconds off his deficit to Shulchenko, propelling him to third overall at 3:56 minutes off the pace. Quita slipped to fourth at 5:57 back, while Malaysian National Team’s Muhammad Syawal Mazlin trailed by 8:36.
The strong performances of Huby and Quita also lifted 7-Eleven from third to the top of the team race with a cumulative time of 111:37:57. Go for Gold dropped to second, 5:28 behind, while LCW UAE -- powered by Shulchenko, Alrefai and Mikhail Lunin, who spent in a long breakaway around 50 kilometers near Libtong -- fell 13:01 off the pace.
ADVERTISEMENT
.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1561_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1562_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1563_widget.title }}

{{ articles_filter_1564_widget.title }}

.mb-article-details { position: relative; } .mb-article-details .article-body-preview, .mb-article-details .article-body-summary{ font-size: 17px; line-height: 30px; font-family: "Libre Caslon Text", serif; color: #000; } .mb-article-details .article-body-preview iframe , .mb-article-details .article-body-summary iframe{ width: 100%; margin: auto; } .read-more-background { background: linear-gradient(180deg, color(display-p3 1.000 1.000 1.000 / 0) 13.75%, color(display-p3 1.000 1.000 1.000 / 0.8) 30.79%, color(display-p3 1.000 1.000 1.000) 72.5%); position: absolute; height: 200px; width: 100%; bottom: 0; display: flex; justify-content: center; align-items: center; padding: 0; } .read-more-background a{ color: #000; } .read-more-btn { padding: 17px 45px; font-family: Inter; font-weight: 700; font-size: 18px; line-height: 16px; text-align: center; vertical-align: middle; border: 1px solid black; background-color: white; } .hidden { display: none; }
function initializeAllSwipers() { // Get all hidden inputs with cms_article_id document.querySelectorAll('[id^="cms_article_id_"]').forEach(function (input) { const cmsArticleId = input.value; const articleSelector = '#article-' + cmsArticleId + ' .body_images'; const swiperElement = document.querySelector(articleSelector); if (swiperElement && !swiperElement.classList.contains('swiper-initialized')) { new Swiper(articleSelector, { loop: true, pagination: false, navigation: { nextEl: '#article-' + cmsArticleId + ' .swiper-button-next', prevEl: '#article-' + cmsArticleId + ' .swiper-button-prev', }, }); } }); } setTimeout(initializeAllSwipers, 3000); const intersectionObserver = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { const newUrl = entry.target.getAttribute("data-url"); if (newUrl) { history.pushState(null, null, newUrl); let article = entry.target; // Extract metadata const author = article.querySelector('.author-section').textContent.replace('By', '').trim(); const section = article.querySelector('.section-info ').textContent.replace(' ', ' '); const title = article.querySelector('.article-title h1').textContent; // Parse URL for Chartbeat path format const parsedUrl = new URL(newUrl, window.location.origin); const cleanUrl = parsedUrl.host + parsedUrl.pathname; // Update Chartbeat configuration if (typeof window._sf_async_config !== 'undefined') { window._sf_async_config.path = cleanUrl; window._sf_async_config.sections = section; window._sf_async_config.authors = author; } // Track virtual page view with Chartbeat if (typeof pSUPERFLY !== 'undefined' && typeof pSUPERFLY.virtualPage === 'function') { try { pSUPERFLY.virtualPage({ path: cleanUrl, title: title, sections: section, authors: author }); } catch (error) { console.error('ping error', error); } } // Optional: Update document title if (title && title !== document.title) { document.title = title; } } } }); }, { threshold: 0.1 } ); function showArticleBody(button) { const article = button.closest("article"); const summary = article.querySelector(".article-body-summary"); const body = article.querySelector(".article-body-preview"); const readMoreSection = article.querySelector(".read-more-background"); // Hide summary and read-more section summary.style.display = "none"; readMoreSection.style.display = "none"; // Show the full article body body.classList.remove("hidden"); } document.addEventListener("DOMContentLoaded", () => { let loadCount = 0; // Track how many times articles are loaded const offset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // Offset values const currentUrl = window.location.pathname.substring(1); let isLoading = false; // Prevent multiple calls if (!currentUrl) { console.log("Current URL is invalid."); return; } const sentinel = document.getElementById("load-more-sentinel"); if (!sentinel) { console.log("Sentinel element not found."); return; } function isSentinelVisible() { const rect = sentinel.getBoundingClientRect(); return ( rect.top < window.innerHeight && rect.bottom >= 0 ); } function onScroll() { if (isLoading) return; if (isSentinelVisible()) { if (loadCount >= offset.length) { console.log("Maximum load attempts reached."); window.removeEventListener("scroll", onScroll); return; } isLoading = true; const currentOffset = offset[loadCount]; window.loadMoreItems().then(() => { let article = document.querySelector('#widget_1690 > div:nth-last-of-type(2) article'); intersectionObserver.observe(article) loadCount++; }).catch(error => { console.error("Error loading more items:", error); }).finally(() => { isLoading = false; }); } } window.addEventListener("scroll", onScroll); });

Sign up by email to receive news.