diff --git a/sys/net/network_layer/sixlowpan/lowpan.c b/sys/net/network_layer/sixlowpan/lowpan.c
index 7c58866872ffa7ed548b16496557a33ad3c0ab47..8ef6d943e851d293b77817a132f1e811e454925b 100644
--- a/sys/net/network_layer/sixlowpan/lowpan.c
+++ b/sys/net/network_layer/sixlowpan/lowpan.c
@@ -1107,7 +1107,8 @@ uint8_t lowpan_iphc_encoding(int if_id, const uint8_t *dest, int dest_len,
             else if (ipv6_buf->destaddr.uint32[2] == HTONL(0x000000ff) &&
                      ipv6_buf->destaddr.uint16[6] == HTONS(0xfe00)) {
                 if (dest_len == 2 &&
-                    ipv6_buf->destaddr.uint16[7] == *((uint16_t *) dest)) {
+                    ipv6_buf->destaddr.uint8[14] == dest[0] &&
+                    ipv6_buf->destaddr.uint8[15] == dest[1]) {
                     /* 0 bits. The address is derived using context information
                      * and possibly the link-layer addresses.*/
                     lowpan_iphc[1] |= 0x03;