diff --git a/src/ipa/meson.build b/src/ipa/meson.build
index 289f861c082d..903eb52ba60f 100644
--- a/src/ipa/meson.build
+++ b/src/ipa/meson.build
@@ -52,8 +52,11 @@ foreach pipeline : pipelines
         continue
     endif
 
-    subdir(pipeline)
     subdirs += pipeline
+    subdir(pipeline)
+
+    # Don't reuse the pipeline variable below, the subdirectory may have
+    # overwritten it.
 endforeach
 
 # The ipa-sign-install.sh script which uses the enabled_ipa_modules variable
diff --git a/src/libcamera/pipeline/meson.build b/src/libcamera/pipeline/meson.build
index b6160d346cf7..8a61991c0fec 100644
--- a/src/libcamera/pipeline/meson.build
+++ b/src/libcamera/pipeline/meson.build
@@ -12,6 +12,9 @@ foreach pipeline : pipelines
         continue
     endif
 
-    subdir(pipeline)
     subdirs += pipeline
+    subdir(pipeline)
+
+    # Don't reuse the pipeline variable below, the subdirectory may have
+    # overwritten it.
 endforeach
