ADVERTISEMENT

Billions wasted on flood control projects without master plan, says DPWH chief

Published Sep 19, 2025 03:07 pm

At A Glance

  • Philippines poured billions into flood control projects without a national master plan.
  • Only 2 of 331 projects in Quezon City (2022–2025) were coordinated with the local government.
  • Contractors often could not show blueprints during inspections.
  • Last official flood control master plan is from 2013; new plans for Metro Manila and 13 major river basins remain incomplete.
  • P351-billion Aquino-era master plan was never turned over to succeeding DPWH officials.
Department of Public Works and Highways (DPWH) Secretary Vince Dizon (Photo: DPWH)
Department of Public Works and Highways (DPWH) Secretary Vince Dizon (Photo: DPWH)
The country poured billions into flood control projects with no national master plan to guide them, Department of Public Works and Highways (DPWH) Secretary Vince Dizon admitted Friday, Sept. 19.
He disclosed that during an initial internal investigation, contractors often could not produce blueprints during inspections.
“Ni plano po wala eh. Sabi ko nga po, every time po mag-inspection kami, ang una pong tinatanong ko 'pag sa site mismo, 'pag nakausap ko po 'yung contractor, subcontractor, or foreman, ang hinihingi ko po agad ay plano, patingin ng plano. In almost all cases wala pong maipakita sa aming plano (There is not even a plan. I said, every time we conduct an inspection, the first thing I ask the contractor, subcontractor, or foreman on site is to show me the blueprint, but in almost all cases, they have nothing to show),” he said.
“Sabi ko nga po kahit nga po maliit na bahay eh kailangan ng plano bago ka magpagawa, siguro naman po itong mga daang milyong flood control projects dapat may plano. Wala po silang mapakita kaya po kasama po ito sa aming ongoing investigation kung bakit po pinapayagan ito at paano po nakakalusot ito dito sa napakaraming mga proyektong ito (I said, even a small house needs a plan before construction, so surely these flood control projects worth hundreds of millions should have a plan. They have nothing to show, which is why this is included in our ongoing investigation into why this is allowed and how these numerous projects slipped through),” Dizon added.
During a Senate Blue Ribbon Committee probe, Sen. Risa Hontiveros revealed that out of 331 flood control projects in Quezon City from 2022 to 2025, only two were coordinated with the local government.
The last official flood control master plan dated back to 2013.
A new plan is being prepared by the Japan International Cooperation Agency (JICA) and the World Bank, but it currently covers only Metro Manila.
The Asian Development Bank (ADB) is also drafting a plan for 13 major river basins nationwide, which remains incomplete.
The absence of an updated master plan is not new.
In 2024, then-DPWH Secretary Manuel Bonoan admitted the country had no integrated flood control framework.
Malacañang later disclosed that a P351-billion master plan crafted under the Aquino administration was never turned over to succeeding DPWH officials.
“Walang natanggap, na-turn over mula kay then-DPWH Secretary Mark Villar si Secretary Bonoan (Nothing was received; it was never turned over from then-DPWH Secretary Mark Villar to Secretary Bonoan),” Malacañang said.

Related Tags

DPWH flood control projects master plan Vince Dizon Government Accountability
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.