diff --git a/src/v4l2/v4l2_camera_proxy.cpp b/src/v4l2/v4l2_camera_proxy.cpp
index f8e8d79..7b269a5 100644
--- a/src/v4l2/v4l2_camera_proxy.cpp
+++ b/src/v4l2/v4l2_camera_proxy.cpp
@@ -625,6 +625,9 @@ int V4L2CameraProxy::vidioc_streamon(V4L2CameraFile *file, int *arg)
 	if (!hasOwnership(file))
 		return -EBUSY;
 
+	if (vcam_->isRunning())
+		return 0;
+
 	currentBuf_ = 0;
 
 	return vcam_->streamOn();
