diff --git a/sys/net/gnrc/network_layer/sixlowpan/gnrc_sixlowpan.c b/sys/net/gnrc/network_layer/sixlowpan/gnrc_sixlowpan.c
index 0aeb901220fd886ca11f629a38334a7a2b1b4171..258a292a38177e3438f07ed81d10274d9a667d72 100644
--- a/sys/net/gnrc/network_layer/sixlowpan/gnrc_sixlowpan.c
+++ b/sys/net/gnrc/network_layer/sixlowpan/gnrc_sixlowpan.c
@@ -246,7 +246,6 @@ static inline bool _add_uncompr_disp(gnrc_pktsnip_t *pkt)
 
 static void _send(gnrc_pktsnip_t *pkt)
 {
-    gnrc_netif_hdr_t *hdr;
     gnrc_pktsnip_t *tmp;
     gnrc_netif_t *netif;
     /* datagram_size: pure IPv6 packet without 6LoWPAN dispatches or compression */
@@ -272,8 +271,7 @@ static void _send(gnrc_pktsnip_t *pkt)
         return;
     }
     pkt = tmp;
-    hdr = pkt->data;
-    netif = gnrc_netif_get_by_pid(hdr->if_pid);
+    netif = gnrc_netif_hdr_get_netif(pkt->data);
     datagram_size = gnrc_pkt_len(pkt->next);
 
     if (netif == NULL) {