diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp
index 0d48e1b6acca..3d2039f3f269 100644
--- a/src/libcamera/pipeline/simple/simple.cpp
+++ b/src/libcamera/pipeline/simple/simple.cpp
@@ -774,9 +774,9 @@ bool SimplePipelineHandler::match(DeviceEnumerator *enumerator)
 				<< "Failed to open converter, disabling format conversion";
 			delete converter_;
 			converter_ = nullptr;
+		} else {
+			converter_->bufferReady.connect(this, &SimplePipelineHandler::converterDone);
 		}
-
-		converter_->bufferReady.connect(this, &SimplePipelineHandler::converterDone);
 	}
 
 	/*
