diff --git a/include/libcamera/internal/pipeline_handler.h b/include/libcamera/internal/pipeline_handler.h
index fb28a18d0f4668ab..972a2fa65310e1d9 100644
--- a/include/libcamera/internal/pipeline_handler.h
+++ b/include/libcamera/internal/pipeline_handler.h
@@ -63,7 +63,8 @@ public:
 	void cancelRequest(Request *request);
 
 	std::string configurationFile(const std::string &subdir,
-				      const std::string &name) const;
+				      const std::string &name,
+				      bool silent = false) const;
 
 	const char *name() const { return name_; }
 
diff --git a/src/libcamera/pipeline_handler.cpp b/src/libcamera/pipeline_handler.cpp
index caa5c20e74836956..d84dff3c9f198756 100644
--- a/src/libcamera/pipeline_handler.cpp
+++ b/src/libcamera/pipeline_handler.cpp
@@ -581,6 +581,7 @@ void PipelineHandler::cancelRequest(Request *request)
  * \brief Retrieve the absolute path to a platform configuration file
  * \param[in] subdir The pipeline handler specific subdirectory name
  * \param[in] name The configuration file name
+ * \param[in] silent Disable error messages
  *
  * This function locates a named platform configuration file and returns
  * its absolute path to the pipeline handler. It searches the following
@@ -596,7 +597,8 @@ void PipelineHandler::cancelRequest(Request *request)
  * string if no configuration file can be found
  */
 std::string PipelineHandler::configurationFile(const std::string &subdir,
-					       const std::string &name) const
+					       const std::string &name,
+					       bool silent) const
 {
 	std::string confPath;
 	struct stat statbuf;
@@ -626,9 +628,11 @@ std::string PipelineHandler::configurationFile(const std::string &subdir,
 	if (ret == 0 && (statbuf.st_mode & S_IFMT) == S_IFREG)
 		return confPath;
 
-	LOG(Pipeline, Error)
-		<< "Configuration file '" << confPath
-		<< "' not found for pipeline handler '" << PipelineHandler::name() << "'";
+	if (!silent)
+		LOG(Pipeline, Error)
+			<< "Configuration file '" << confPath
+			<< "' not found for pipeline handler '"
+			<< PipelineHandler::name() << "'";
 
 	return std::string();
 }
