diff --git a/sys/net/gnrc/network_layer/sixlowpan/frag/gnrc_sixlowpan_frag.c b/sys/net/gnrc/network_layer/sixlowpan/frag/gnrc_sixlowpan_frag.c
index 4f6d4a656bcfe067aba60baa0e1812169dc042ff..eb781ef613542e20dd89b86e18dae40d4690a17b 100644
--- a/sys/net/gnrc/network_layer/sixlowpan/frag/gnrc_sixlowpan_frag.c
+++ b/sys/net/gnrc/network_layer/sixlowpan/frag/gnrc_sixlowpan_frag.c
@@ -287,7 +287,11 @@ void gnrc_sixlowpan_frag_send(gnrc_pktsnip_t *pkt, void *ctx, unsigned page)
     fragment_msg->offset += res;
     msg.type = GNRC_SIXLOWPAN_MSG_FRAG_SND,
     msg.content.ptr = fragment_msg;
-    msg_send_to_self(&msg);
+    if (msg_send_to_self(&msg) == 0) {
+        printf("6lo frag: message queue full, can't issue next fragment "
+              "sending\n");
+        goto error;
+    }
     thread_yield();
     return;
 error: