diff --git a/Documentation/runtime_configuration.rst b/Documentation/runtime_configuration.rst
index 19c2309ac94f..a904b09a1d35 100644
--- a/Documentation/runtime_configuration.rst
+++ b/Documentation/runtime_configuration.rst
@@ -44,7 +44,7 @@ file structure:
     pipelines:
       simple:
         devices:
-          - driver: # driver name, e.g. `mxc-isi`
+          # driver name, e.g. `mxc-isi`:
             software_isp: # true/false
     software_isp:
       copy_input_buffer: # true/false
@@ -77,7 +77,7 @@ Configuration file example
      pipelines:
        simple:
          devices:
-           - driver: mxc-isi
+           mxc-isi:
              software_isp: true
      software_isp:
        copy_input_buffer: false
@@ -139,7 +139,7 @@ LIBCAMERA_<NAME>_TUNING_FILE
 
    Example value: ``/usr/local/share/libcamera/ipa/rpi/vc4/custom_sensor.json``
 
-pipelines.simple.devices.driver, pipelines.simple.devices.software_isp
+pipelines.simple.devices.<driver>.software_isp
    Override whether software ISP is enabled for the given driver.
 
    Example `driver` value: ``mxc-isi``
diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp
index 0ae9e081f01a..c949f3a69d16 100644
--- a/src/libcamera/pipeline/simple/simple.cpp
+++ b/src/libcamera/pipeline/simple/simple.cpp
@@ -1879,18 +1879,16 @@ bool SimplePipelineHandler::matchDevice(std::shared_ptr<MediaDevice> media,
 	}
 
 	swIspEnabled_ = info.swIspEnabled;
+
 	const GlobalConfiguration &configuration = cameraManager()->_d()->configuration();
-	for (GlobalConfiguration::Option entry :
-	     configuration.configuration()["pipelines"]["simple"]["devices"]
-		     .asList()) {
-		auto name = entry["driver"].get<std::string>();
-		if (name == info.driver) {
-			swIspEnabled_ = entry["software_isp"].get<bool>().value_or(swIspEnabled_);
-			LOG(SimplePipeline, Debug)
-				<< "Configuration file overrides software ISP for "
-				<< info.driver << " to " << swIspEnabled_;
-			break;
-		}
+	GlobalConfiguration::Option &cfg =
+		configuration.configuration()["pipelines"]["simple"]["devices"][info.driver];
+
+	if (cfg) {
+		swIspEnabled_ = cfg["software_isp"].get<bool>().value_or(swIspEnabled_);
+		LOG(SimplePipeline, Debug)
+			<< "Configuration file overrides software ISP for "
+			<< info.driver << " to " << swIspEnabled_;
 	}
 
 	/* Locate the sensors. */
