diff --git a/hw/bt-hci.c b/hw/bt-hci.c
index 8c717f9..48cbbb5 100644
--- a/hw/bt-hci.c
+++ b/hw/bt-hci.c
@@ -442,7 +442,7 @@ static inline uint8_t *bt_hci_event_start(struct bt_hci_s *hci,
     }
 
     mask_byte = (evt - 1) >> 3;
-    mask = 1 << ((evt - 1) & 3);
+    mask = 1 << ((evt - 1) & 7);
     if (mask & bt_event_reserved_mask[mask_byte] & ~hci->event_mask[mask_byte])
         return NULL;
 
