diff --git a/Makefile.dep b/Makefile.dep
index 77c9b9081ebf7b56ab7d69778a88b510e98689ae..cfeb10de386dcddcaf2af2bbd5c68555c4850ac2 100644
--- a/Makefile.dep
+++ b/Makefile.dep
@@ -59,6 +59,7 @@ endif
 
 ifneq (,$(filter netdev_ieee802154,$(USEMODULE)))
   USEMODULE += ieee802154
+  USEMODULE += random
 endif
 
 ifneq (,$(filter gnrc_uhcpc,$(USEMODULE)))
diff --git a/drivers/netdev_ieee802154/netdev_ieee802154.c b/drivers/netdev_ieee802154/netdev_ieee802154.c
index 202656658e34316c1cae22827f9991410c8fb36b..f826f2d546dd838a4e0d94c357838a4fbcf8f605 100644
--- a/drivers/netdev_ieee802154/netdev_ieee802154.c
+++ b/drivers/netdev_ieee802154/netdev_ieee802154.c
@@ -22,6 +22,7 @@
 #include "net/eui64.h"
 #include "net/ieee802154.h"
 #include "net/netdev.h"
+#include "random.h"
 
 #include "net/netdev/ieee802154.h"
 
@@ -52,7 +53,8 @@ static int _get_iid(netdev_ieee802154_t *dev, eui64_t *value, size_t max_len)
 
 void netdev_ieee802154_reset(netdev_ieee802154_t *dev)
 {
-    dev->seq = 0;
+    /* Only the least significant byte of the random value is used */
+    dev->seq = random_uint32();
     dev->flags = 0;
 
     /* set default protocol */