diff --git a/Makefile.dep b/Makefile.dep
index f41be51907028d395583fa91aebe959b81ea0481..2eb99d5a6996611080d66c6f890a32a81356539b 100644
--- a/Makefile.dep
+++ b/Makefile.dep
@@ -56,6 +56,34 @@ ifneq (,$(filter ng_nomac,$(USEMODULE)))
   USEMODULE += ng_netbase
 endif
 
+ifneq (,$(filter ng_at86rf2%,$(USEMODULE)))
+  USEMODULE += ng_at86rf2xx
+  USEMODULE += ng_ieee802154
+endif
+
+ifneq (,$(filter kw2xrf,$(USEMODULE)))
+  USEMODULE += ng_ieee802154
+endif
+
+ifneq (,$(filter xbee,$(USEMODULE)))
+  USEMODULE += ng_ieee802154
+endif
+
+ifneq (,$(filter ng_ieee802154,$(USEMODULE)))
+  ifneq (,$(filter ng_ipv6, $(USEMODULE)))
+    USEMODULE += ng_sixlowpan
+  endif
+  ifneq (,$(filter ng_ipv6_router, $(USEMODULE)))
+    USEMODULE += ng_sixlowpan   # TODO: replace with ng_sixlowpan_router
+  endif
+  ifneq (,$(filter ng_ipv6_default, $(USEMODULE)))
+    USEMODULE += ng_sixlowpan_default
+  endif
+  ifneq (,$(filter ng_ipv6_router_default, $(USEMODULE)))
+    USEMODULE += ng_sixlowpan_default   # TODO: replace with ng_sixlowpan_router_default
+  endif
+endif
+
 ifneq (,$(filter ng_sixlowpan_default,$(USEMODULE)))
   USEMODULE += ng_ipv6_default
   USEMODULE += ng_sixlowpan
@@ -246,10 +274,6 @@ ifneq (,$(filter oonf_common,$(USEMODULE)))
   USEMODULE += socket_base
 endif
 
-ifneq (,$(filter ng_at86rf2%,$(USEMODULE)))
-  USEMODULE += ng_at86rf2xx
-endif
-
 # if any log_* is used, also use LOG pseudomodule
 ifneq (,$(filter log_%,$(USEMODULE)))
   USEMODULE += log
diff --git a/Makefile.pseudomodules b/Makefile.pseudomodules
index f23954e445e28f211eac473e1885c0d7b9e935ae..55ce296e84571d1a4ea6f984594d3fcc8337b88d 100644
--- a/Makefile.pseudomodules
+++ b/Makefile.pseudomodules
@@ -1,5 +1,6 @@
 PSEUDOMODULES += defaulttransceiver
 PSEUDOMODULES += transport_layer
+PSEUDOMODULES += ng_ieee802154
 PSEUDOMODULES += ng_ipv6_default
 PSEUDOMODULES += ng_ipv6_router
 PSEUDOMODULES += ng_ipv6_router_default