diff --git a/boards/redbee-econotag/Makefile.include b/boards/redbee-econotag/Makefile.include
index 4d9f9736752e3297b8d209fce6f7c72d2b9b37b0..290044032714dceabe0888d57e4c8353b2d43636 100644
--- a/boards/redbee-econotag/Makefile.include
+++ b/boards/redbee-econotag/Makefile.include
@@ -29,15 +29,16 @@ export FFLAGS = -t $(PORT) -f $(HEXFILE) -c 'bbmc -l redbee-econotag reset'
 export OFLAGS = -O binary --gap-fill=0xff
 
 export INCLUDES += -I$(RIOTCPU)/$(CPU)/include/ -I$(RIOTBOARD)/$(BOARD)/include/
+export INCLUDES += -I$(RIOTCPU)/$(CPU)/maca/include
+export INCLUDES += -I$(RIOTBOARD)/$(BOARD)/drivers/include
 
-# un-comment once https://github.com/RIOT-OS/RIOT/issues/676 is fixed
-#ifneq (,$(filter defaulttransceiver,$(USEMODULE)))
-#	ifeq (,$(filter mc1322x,$(USEMODULE)))
-#		USEMODULE += mc1322x
-#	endif
-#	ifeq (,$(filter transceiver,$(USEMODULE)))
-#		USEMODULE += transceiver
-#	endif
-#endif
+ifneq (,$(filter defaulttransceiver,$(USEMODULE)))
+	ifeq (,$(filter mc1322x,$(USEMODULE)))
+		USEMODULE += mc1322x
+	endif
+	ifeq (,$(filter transceiver,$(USEMODULE)))
+		USEMODULE += transceiver
+	endif
+endif
 
 export UNDEF += $(BINDIR)cpu/startup.o
diff --git a/boards/redbee-econotag/drivers/nvm.c b/boards/redbee-econotag/drivers/nvm.c
index b55e59ebd849d6dcad6f34a715cda8db79ed4009..f0429811ecd2763897318cccad494dad1763abcf 100644
--- a/boards/redbee-econotag/drivers/nvm.c
+++ b/boards/redbee-econotag/drivers/nvm.c
@@ -18,5 +18,5 @@ nvm_err_t (*nvm_write)  (nvm_interface_t nvm_interface, nvm_type_t nvm_type, voi
                         = (void*) 0x00006ec5;
 nvm_err_t (*nvm_erase)  (nvm_interface_t nvm_interface, nvm_type_t nvm_type, uint32_t sector_bitfield)
                         = (void*) 0x00006e05;
-void (*nvm_sets_var)    (uint32_t zero_is_for_winners)
-                        = (void*) 0x00007085;
\ No newline at end of file
+void (*nvm_setsvar)    (uint32_t zero_is_for_winners)
+                        = (void*) 0x00007085;
diff --git a/cpu/mc1322x/Makefile b/cpu/mc1322x/Makefile
index 8c68344a8c6fa9f3948ffd08a51e5c81963c8edf..8abd8bfc89a87a72d1e00bdd67f8c03addd7ce14 100644
--- a/cpu/mc1322x/Makefile
+++ b/cpu/mc1322x/Makefile
@@ -7,6 +7,9 @@ endif
 ifneq (,$(filter mc1322x_asm,$(USEMODULE)))
 	DIRS += asm
 endif
+ifneq (,$(filter mc1322x,$(USEMODULE)))
+	DIRS += maca
+endif
 
 all: $(BINDIR)$(MODULE).a
 	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
diff --git a/cpu/mc1322x/Makefile.include b/cpu/mc1322x/Makefile.include
index 06535d8234cfb7232c8401335c6385f9c0744989..9f12e2c124615390e1791d907779af8f29546c57 100644
--- a/cpu/mc1322x/Makefile.include
+++ b/cpu/mc1322x/Makefile.include
@@ -1,4 +1,5 @@
-INCLUDES += -I$(RIOTBASE)/cpu/mc1322x/include
+INCLUDES += -I$(RIOTCPU)/$(CPU)/include
+INCLUDES += -I$(RIOTCPU)/$(CPU)/maca/include
 
 include $(RIOTCPU)/arm_common/Makefile.include
 
diff --git a/cpu/mc1322x/maca/Makefile b/cpu/mc1322x/maca/Makefile
index 373dd437fc3a378ae69f7c4b258fba7fc1e41eaa..19a39ee15dd05033b91868ed55de17967c83d1ae 100644
--- a/cpu/mc1322x/maca/Makefile
+++ b/cpu/mc1322x/maca/Makefile
@@ -1,5 +1,7 @@
-INCLUDES = -I$(RIOTBASE)/cpu/mc1322x/include -I$(RIOTBASE)/cpu/mc1322x/maca/include -I$(RIOTBOARDS)/redbee-econotag/drivers/include
+INCLUDES += -I$(RIOTCPU)/$(CPU)/include \
+			-I$(RIOTCPU)/$(CPU)/maca/include \
+			-I$(RIOTBOARDS)/redbee-econotag/drivers/include
 
-MODULE =mc1322x
+MODULE = mc1322x
 
 include $(RIOTBASE)/Makefile.base
diff --git a/sys/include/transceiver.h b/sys/include/transceiver.h
index 437e72c962430db85811fbf24e87bc40b15c72c4..144d9a232bbf3a2743e5272e5bc035a0de7f6f13 100644
--- a/sys/include/transceiver.h
+++ b/sys/include/transceiver.h
@@ -98,9 +98,9 @@
 #endif
 #endif
 #ifdef MODULE_MC1322X
-#if (MC1322X_MAX_DATA_LENGTH > PAYLOAD_SIZE)
+#if (MACA_MAX_PAYLOAD_SIZE > PAYLOAD_SIZE)
 #undef PAYLOAD_SIZE
-#define PAYLOAD_SIZE (MC1322X_MAX_DATA_LENGTH)
+#define PAYLOAD_SIZE (MACA_MAX_PAYLOAD_SIZE)
 #endif
 #endif
 #ifdef MODULE_NATIVENET
diff --git a/sys/shell/commands/sc_transceiver.c b/sys/shell/commands/sc_transceiver.c
index e0825440e59ebf7f329c592a4a0fa83486743c2e..f74b9ac8de32cfc6ae8d270b3dec96102071a7c6 100644
--- a/sys/shell/commands/sc_transceiver.c
+++ b/sys/shell/commands/sc_transceiver.c
@@ -51,8 +51,14 @@
 #include "nativenet.h"
 #define TEXT_SIZE           NATIVE_MAX_DATA_LENGTH
 #define _TC_TYPE            TRANSCEIVER_NATIVE
-#endif
 
+#elif defined( MODULE_MC1322X )
+#include "mc1322x.h"
+#include "maca.h"
+#include "maca_packet.h"
+#define TEXT_SIZE           MACA_MAX_PAYLOAD_SIZE
+#define _TC_TYPE            TRANSCEIVER_MC1322X
+#endif
 
 /* checked for type safety */
 void _transceiver_get_set_address_handler(int argc, char **argv)
diff --git a/sys/transceiver/transceiver.c b/sys/transceiver/transceiver.c
index 34a2b0dae1401d628b15970e3a5f04505da635d5..53dd96d5ce067b6d366c081fd466cf496a9e7671 100644
--- a/sys/transceiver/transceiver.c
+++ b/sys/transceiver/transceiver.c
@@ -744,7 +744,7 @@ static int8_t send_packet(transceiver_type_t t, void *pkt)
 
         case TRANSCEIVER_MC1322X:
             maca_pkt->length = p->length;
-            memcpy(maca_pkt->data, p->data, p->length);
+            memcpy(maca_pkt->data, &p->frame, p->length);
             maca_set_tx_packet(maca_pkt);
             res = 1;
             break;