diff --git a/monitor/packet.c b/monitor/packet.c
index 645e3f9..94561b6 100644
--- a/monitor/packet.c
+++ b/monitor/packet.c
struct monitor_l2cap_hdr {
uint16_t cid;
uint16_t psm;
-};
+} __attribute__((packed));
static void packet_decode(struct timeval *tv, struct ucred *cred, char dir,
uint16_t index, const char *color,
NULL);
/* Discard last byte since it just a filler */
- l2cap_frame(index, dir == '>', 0, hdr->cid, hdr->psm,
+ l2cap_frame(index, dir == '>', 0,
+ le16_to_cpu(hdr->cid), le16_to_cpu(hdr->psm),
data + sizeof(*hdr), size - (sizeof(*hdr) + 1));
}