diff --git a/FEE/rmap.c b/FEE/rmap.c
index 6deb6a041c9f968d983fc3a6dd606e352026834e..e6a0846c7aadf6dd1e3c11f42d92fdf15e7df979 100644
--- a/FEE/rmap.c
+++ b/FEE/rmap.c
@@ -560,6 +560,8 @@ struct rmap_pkt *rmap_pkt_from_buffer(uint8_t *buf)
 			         (uint32_t) buf[RMAP_DATALEN_BYTE2 + n];
 	}
 
+	pkt->hdr_crc  = buf[RMAP_HEADER_CRC];
+
 	if (pkt->data_len) {
 		pkt->data = (uint8_t *) malloc(pkt->data_len);
 		if (!pkt->data)
@@ -567,6 +569,9 @@ struct rmap_pkt *rmap_pkt_from_buffer(uint8_t *buf)
 
 		for (i = 0; i < pkt->data_len; i++)
 			pkt->data[i] = buf[RMAP_DATA_START + n + i];
+
+		/* final byte is data crc */
+		pkt->data_crc = buf[RMAP_DATA_START + n + i];
 	}
 
 
diff --git a/FEE/rmap.h b/FEE/rmap.h
index 2d94db27be11bd63d2ab032ae6530d6f9817f230..17e4df102397bea313afd4a6da255fedc5d524c9 100644
--- a/FEE/rmap.h
+++ b/FEE/rmap.h
@@ -183,6 +183,8 @@ struct rmap_pkt {
 	uint32_t	addr;		/* (first) data address */
 	uint8_t		*data;
 	uint32_t	data_len;	/* lenght of data in bytes */
+	uint8_t		hdr_crc;
+	uint8_t		data_crc;
 };