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 eb781ef613542e20dd89b86e18dae40d4690a17b..8b94a263113f2a4d1202438a7fdfb33dc62c49ba 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
@@ -44,7 +44,7 @@ static uint16_t _tag;
 
 static inline uint16_t _floor8(uint16_t length)
 {
-    return length & 0xf8U;
+    return length & 0xfff8U;
 }
 
 static inline size_t _min(size_t a, size_t b)