diff --git a/src/libcamera/ipc_pipe_unixsocket.cpp b/src/libcamera/ipc_pipe_unixsocket.cpp
index 2bdce29e..cdb7eae0 100644
--- a/src/libcamera/ipc_pipe_unixsocket.cpp
+++ b/src/libcamera/ipc_pipe_unixsocket.cpp
@@ -118,6 +118,11 @@ int IPCPipeUnixSocket::call(const IPCUnixSocket::Payload &message,
 
 	const auto [iter, success] = callData_.insert({ cookie, { response, false } });
 
+	if (!success) {
+		LOG(IPCPipe, Error) << "Failed to insert call data";
+		return -EINVAL;
+	}
+
 	ret = socket_->send(message);
 	if (ret) {
 		callData_.erase(iter);
