diff --git a/sys/auto_init/netif/auto_init_at86rf2xx.c b/sys/auto_init/netif/auto_init_at86rf2xx.c
index a80ffe3b8a354f640aea5ca84f464f5643a093e8..775d9f9b0651268e293810d7945b474ebbf23f05 100644
--- a/sys/auto_init/netif/auto_init_at86rf2xx.c
+++ b/sys/auto_init/netif/auto_init_at86rf2xx.c
@@ -20,7 +20,8 @@
 #ifdef MODULE_AT86RF2XX
 
 #include "board.h"
-#include "net/gnrc/nomac.h"
+#include "net/gnrc/netdev2.h"
+#include "net/gnrc/netdev2/ieee802154.h"
 #include "net/gnrc.h"
 
 #include "at86rf2xx.h"
@@ -36,32 +37,38 @@
 #define AT86RF2XX_MAC_STACKSIZE     (THREAD_STACKSIZE_DEFAULT)
 #define AT86RF2XX_MAC_PRIO          (THREAD_PRIORITY_MAIN - 4)
 
-#define AT86RF2XX_NUM (sizeof(at86rf2xx_params)/sizeof(at86rf2xx_params[0]))
+#define AT86RF2XX_NUM (sizeof(at86rf2xx_params) / sizeof(at86rf2xx_params[0]))
 
 static at86rf2xx_t at86rf2xx_devs[AT86RF2XX_NUM];
-static char _nomac_stacks[AT86RF2XX_MAC_STACKSIZE][AT86RF2XX_NUM];
+static gnrc_netdev2_t gnrc_adpt[AT86RF2XX_NUM];
+static char _at86rf2xx_stacks[AT86RF2XX_MAC_STACKSIZE][AT86RF2XX_NUM];
 
 void auto_init_at86rf2xx(void)
 {
     for (unsigned i = 0; i < AT86RF2XX_NUM; i++) {
         const at86rf2xx_params_t *p = &at86rf2xx_params[i];
+        int res;
 
         DEBUG("Initializing AT86RF2xx radio at SPI_%i\n", p->spi);
-        int res = at86rf2xx_init(&at86rf2xx_devs[i],
-                                 p->spi,
-                                 p->spi_speed,
-                                 p->cs_pin,
-                                 p->int_pin,
-                                 p->sleep_pin,
-                                 p->reset_pin);
+        at86rf2xx_setup(&at86rf2xx_devs[i],
+                        p->spi,
+                        p->spi_speed,
+                        p->cs_pin,
+                        p->int_pin,
+                        p->sleep_pin,
+                        p->reset_pin);
+        res = gnrc_netdev2_ieee802154_init(&gnrc_adpt[i],
+                                           (netdev2_ieee802154_t *)&at86rf2xx_devs[i]);
 
         if (res < 0) {
             DEBUG("Error initializing AT86RF2xx radio device!\n");
         }
         else {
-            gnrc_nomac_init(_nomac_stacks[i],
-                            AT86RF2XX_MAC_STACKSIZE, AT86RF2XX_MAC_PRIO,
-                            "at86rfxx", (gnrc_netdev_t *)&at86rf2xx_devs[i]);
+            gnrc_netdev2_init(_at86rf2xx_stacks[i],
+                              AT86RF2XX_MAC_STACKSIZE,
+                              AT86RF2XX_MAC_PRIO,
+                              "at86rf2xx",
+                              &gnrc_adpt[i]);
         }
     }
 }