diff --git a/src/cam/capture.cpp b/src/cam/capture.cpp
index 7b55fc6770225e2a..18aa97c7cdb55dcc 100644
--- a/src/cam/capture.cpp
+++ b/src/cam/capture.cpp
@@ -90,6 +90,13 @@ int Capture::capture(FrameBufferAllocator *allocator)
 		nbuffers = std::min(nbuffers, allocated);
 	}
 
+	if (captureLimit_ && captureLimit_ < nbuffers) {
+		std::cerr << "Camera requiers at least " << nbuffers
+			  << " reqests to function, " << captureLimit_
+			  << " requested" << std::endl;
+		return -EINVAL;
+	}
+
 	/*
 	 * TODO: make cam tool smarter to support still capture by for
 	 * example pushing a button. For now run all streams all the time.
