diff --git a/src/py/cam/cam.py b/src/py/cam/cam.py
index bf8529d9..2ae89fa8 100755
--- a/src/py/cam/cam.py
+++ b/src/py/cam/cam.py
@@ -243,8 +243,6 @@ class CaptureState:
     # Called from renderer when there is a libcamera event
     def event_handler(self):
         try:
-            self.cm.read_event()
-
             reqs = self.cm.get_ready_requests()
 
             for req in reqs:
diff --git a/src/py/libcamera/py_main.cpp b/src/py/libcamera/py_main.cpp
index fcf009f0..505cc3dc 100644
--- a/src/py/libcamera/py_main.cpp
+++ b/src/py/libcamera/py_main.cpp
@@ -213,15 +213,12 @@ PYBIND11_MODULE(_libcamera, m)
 			return gEventfd;
 		})
 
-		.def("read_event", [](CameraManager &) {
+		.def("get_ready_requests", [](CameraManager &) {
 			uint8_t buf[8];
 
-			int ret = read(gEventfd, buf, 8);
-			if (ret != 8)
+			if (read(gEventfd, buf, 8) != 8)
 				throw std::system_error(errno, std::generic_category());
-		})
 
-		.def("get_ready_requests", [](CameraManager &) {
 			std::vector<Request *> v;
 
 			{
diff --git a/test/py/unittests.py b/test/py/unittests.py
index 33b35a0a..9adc4337 100755
--- a/test/py/unittests.py
+++ b/test/py/unittests.py
@@ -210,8 +210,6 @@ class SimpleCaptureMethods(CameraTesterBase):
         reqs = []
 
         while True:
-            cm.read_event()
-
             ready_reqs = cm.get_ready_requests()
 
             reqs += ready_reqs
@@ -283,8 +281,6 @@ class SimpleCaptureMethods(CameraTesterBase):
         while running:
             events = sel.select()
             for key, _ in events:
-                cm.read_event()
-
                 ready_reqs = cm.get_ready_requests()
 
                 reqs += ready_reqs
