diff --git a/src/libcamera/camera_manager.cpp b/src/libcamera/camera_manager.cpp
index b1785f75..c1edefda 100644
--- a/src/libcamera/camera_manager.cpp
+++ b/src/libcamera/camera_manager.cpp
@@ -131,6 +131,7 @@ int CameraManager::Private::init()
 		return -ENODEV;
 
 	createPipelineHandlers();
+	enumerator_->devicesAdded.connect(this, &Private::createPipelineHandlers);
 
 	return 0;
 }
@@ -165,8 +166,6 @@ void CameraManager::Private::createPipelineHandlers()
 				<< "\" matched";
 		}
 	}
-
-	enumerator_->devicesAdded.connect(this, &Private::createPipelineHandlers);
 }
 
 void CameraManager::Private::cleanup()
