diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
index 675af5705055..2500994e2f6a 100644
--- a/src/android/camera_device.cpp
+++ b/src/android/camera_device.cpp
@@ -1341,8 +1341,15 @@ int CameraDevice::configureStreams(camera3_stream_configuration_t *stream_list)

 	/*
 	 * Once the CameraConfiguration has been adjusted/validated
-	 * it can be applied to the camera.
+	 * it can be applied to the camera, which has to be stopped if
+	 * in running state.
 	 */
+	if (running_) {
+		worker_.stop();
+		camera_->stop();
+		running_ = false;
+	}
+
 	int ret = camera_->configure(config_.get());
 	if (ret) {
 		LOG(HAL, Error) << "Failed to configure camera '"
