ADVERTISEMENT

Philippines weighs return to China for stalled Mindanao railway

Published Jun 22, 2026 12:00 am  |  Updated Jun 20, 2026 01:58 pm
The development of the long-delayed Mindanao Railway Project (MRP) could soon return to China’s hands, as the Mindanao Development Authority (MinDA) courts one of Beijing's state-owned construction firms to build the railway.
MinDA Secretary Leo Tereso Magno said he recently met with China Road and Bridge Corp. (CRBC) to explore potential collaborations on infrastructure projects in the region, including the MRP.
“They are helping the development of Mindanao. So I met with them and showed them what areas they could still enter to send more assistance and more projects to Mindanao,” Magno told the Manila Bulletin.
CRBC is currently building the 3.98-kilometer Samal Island-Davao City Connector project, which is roughly halfway complete. While the firm is best known for bridges and roads, it is no stranger to railways, having delivered major rail projects in both China and Kenya.
The Philippines potentially tapping a Chinese contractor to build the MRP could be seen as a reversal of its previous position. The project’s prolonged delay was influenced in part by the government’s decision to drop China as its funding source in 2023 due to non-commitment on loan terms.
At present, the Department of Transportation (DOTr) is still hunting for a new financial backer for the MRP, especially since the project received no allocation under this year’s national budget.
“We had a previous funder, then it didn’t continue. So, now, we’re looking for a different funder, and we’re also updating our feasibility study,” Transportation Undersecretary Timothy John Batan told reporters last month.
Batan explained that the feasibility study must be updated first to attract interested development partners. Because the initial study for the MRP was completed back in 2018, the DOTr needs to overhaul the project's entire overview, including ridership assumptions and cost estimates.
Apart from official development assistance (ODA) partners, the DOTr is also exploring the possibility of implementing the railway network as a public-private partnership (PPP) project.
According to the PPP Center, only the third phase of the MRP is currently being pursued as a PPP project under a solicited bidding process.
With an estimated cost of ₱100.64 billion, MRP Phase 3 is a 61-km intercity passenger and cargo railway system designed to connect the industrial and commercial centers of Cagayan de Oro, including Laguindingan International Airport and the Mindanao Container Port.
Actual development of the MRP is slated to begin with its first phase: a 100-km segment featuring eight stations that will connect Tagum City in Davao del Norte to Digos City in Davao del Sur.
Beyond the railway, Magno noted that he also presented CRBC with potential partnership opportunities for other regional infrastructure projects, including bridges, ports, and airports.

Related Tags

Mindanao Development Authority (MinDA) Mindanao railway
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; } }

{{ static_articles_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.