diff --git a/sys/net/gnrc/network_layer/sixlowpan/frag/rbuf.c b/sys/net/gnrc/network_layer/sixlowpan/frag/rbuf.c
index baa343a73964d4b1aed64c9455a4f2f0053b057a..8edb73b053ce9e3c214ced30172ee86e919310da 100644
--- a/sys/net/gnrc/network_layer/sixlowpan/frag/rbuf.c
+++ b/sys/net/gnrc/network_layer/sixlowpan/frag/rbuf.c
@@ -82,6 +82,7 @@ void rbuf_add(gnrc_netif_hdr_t *netif_hdr, gnrc_pktsnip_t *pkt,
 
     if (entry == NULL) {
         DEBUG("6lo rbuf: reassembly buffer full.\n");
+        gnrc_pktbuf_release(pkt);
         return;
     }
 
@@ -136,6 +137,7 @@ void rbuf_add(gnrc_netif_hdr_t *netif_hdr, gnrc_pktsnip_t *pkt,
                         sizeof(sixlowpan_frag_t), GNRC_NETTYPE_SIXLOWPAN);
                 if (frag_hdr == NULL) {
                     gnrc_pktbuf_release(entry->super.pkt);
+                    gnrc_pktbuf_release(pkt);
                     rbuf_rm(entry);
                     return;
                 }