diff --git a/inc/hf/vm.h b/inc/hf/vm.h
index 8d5727e..9fff714 100644
--- a/inc/hf/vm.h
+++ b/inc/hf/vm.h
@@ -30,6 +30,16 @@
 #define MAX_SMCS 32
 #define LOG_BUFFER_SIZE 256
 
+/**
+ * The state of an RX buffer.
+ *
+ * EMPTY is the initial state. The follow state transitions are possible:
+ * * EMPTY → RECEIVED: message sent to the VM.
+ * * RECEIVED → READ: secondary VM returns from SPCI_MSG_WAIT or
+ *   SPCI_MSG_POLL, or primary VM returns from SPCI_RUN with an SPCI_MSG_SEND
+ *   where the receiver is itself.
+ * * READ → EMPTY: VM called SPCI_RX_RELEASE.
+ */
 enum mailbox_state {
 	/** There is no message in the mailbox. */
 	MAILBOX_STATE_EMPTY,
diff --git a/src/api.c b/src/api.c
index f9f3ceb..a5d6ef8 100644
--- a/src/api.c
+++ b/src/api.c
@@ -1235,9 +1235,6 @@
 	locked = vm_lock(vm);
 	switch (vm->mailbox.state) {
 	case MAILBOX_STATE_EMPTY:
-		ret = (struct spci_value){.func = SPCI_SUCCESS_32};
-		break;
-
 	case MAILBOX_STATE_RECEIVED:
 		ret = spci_error(SPCI_DENIED);
 		break;
diff --git a/test/linux/hftest_socket.c b/test/linux/hftest_socket.c
index a07e188..b25691f 100644
--- a/test/linux/hftest_socket.c
+++ b/test/linux/hftest_socket.c
@@ -25,6 +25,7 @@
 #include "vmapi/hf/transport.h"
 
 #include "test/hftest.h"
+#include "test/vmapi/spci.h"
 
 alignas(4096) uint8_t kstack[4096];
 
@@ -68,7 +69,7 @@
 	/* Set up the mailbox. */
 	spci_rxtx_map(send_addr, recv_addr);
 
-	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
+	EXPECT_SPCI_ERROR(spci_rx_release(), SPCI_DENIED);
 
 	/* Clean the context. */
 	ctx = hftest_get_context();
diff --git a/test/vmapi/primary_with_secondaries/mailbox.c b/test/vmapi/primary_with_secondaries/mailbox.c
index c58115a..8e2e67c 100644
--- a/test/vmapi/primary_with_secondaries/mailbox.c
+++ b/test/vmapi/primary_with_secondaries/mailbox.c
@@ -64,13 +64,13 @@
 }
 
 /**
- * Clearing an empty mailbox is a noop.
+ * Clearing an empty mailbox is an error.
  */
 TEST(mailbox, clear_empty)
 {
-	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
-	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
-	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
+	EXPECT_SPCI_ERROR(spci_rx_release(), SPCI_DENIED);
+	EXPECT_SPCI_ERROR(spci_rx_release(), SPCI_DENIED);
+	EXPECT_SPCI_ERROR(spci_rx_release(), SPCI_DENIED);
 }
 
 /**
diff --git a/test/vmapi/primary_with_secondaries/memory_sharing.c b/test/vmapi/primary_with_secondaries/memory_sharing.c
index ad92087..44b5c92 100644
--- a/test/vmapi/primary_with_secondaries/memory_sharing.c
+++ b/test/vmapi/primary_with_secondaries/memory_sharing.c
@@ -832,7 +832,7 @@
 	/* Let the memory be sent from VM1 to VM2. */
 	run_res = spci_run(SERVICE_VM1, 0);
 	EXPECT_EQ(run_res.func, SPCI_MSG_SEND_32);
-	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
+	EXPECT_EQ(spci_msg_send_receiver(run_res), SERVICE_VM2);
 
 	/* Receive memory in VM2. */
 	run_res = spci_run(SERVICE_VM2, 0);
