diff --git a/src/android/camera_hal_manager.cpp b/src/android/camera_hal_manager.cpp
index 02b6418fb36d..e967d210e547 100644
--- a/src/android/camera_hal_manager.cpp
+++ b/src/android/camera_hal_manager.cpp
@@ -73,6 +73,17 @@ int CameraHalManager::init()
 		++index;
 	}
 
+	/*
+	 * If no pipeline has registered cameras, defer initialization to give
+	 * time to media devices to register to user-space.
+	 */
+	if (index == 0) {
+		LOG(HAL, Debug) << "Defer CameraHALManager initialization";
+		delete cameraManager_;
+		cameraManager_ = nullptr;
+		return -ENODEV;
+	}
+
 	return 0;
 }
 
