diff --git a/Makefile.buildtests b/Makefile.buildtests
index bc0f7e26e2cef5467a1ee009fab4ef3ed49ed032..6a705b39009e8c0611f9693dddfda8fc9e29c991 100644
--- a/Makefile.buildtests
+++ b/Makefile.buildtests
@@ -42,7 +42,10 @@ buildtest:
 	\
 	rm -rf "$$BINDIRBASE"; \
 	for BOARD in $${BOARDS}; do \
-		$${ECHO} -n "Building for $${BOARD} .. "; \
+		RIOTNOLINK=$$(case ' $(BOARD_INSUFFICIENT_RAM) ' in *" $${BOARD} "*) echo 1; esac); \
+		$${ECHO} -n "Building for $${BOARD} "; \
+		[ -n "$${RIOTNOLINK}" ] && $${ECHO} -n "(no linking) "; \
+		$${ECHO} -n ".. "; \
 		LOG=$$(env -i \
 			HOME=$${HOME} \
 			PATH=$${PATH} \
@@ -51,6 +54,7 @@ buildtest:
 			RIOTBOARD=$${RIOTBOARD} \
 			RIOTCPU=$${RIOTCPU} \
 			BINDIRBASE=$${BINDIRBASE} \
+			RIOTNOLINK=$${RIOTNOLINK} \
 			$(MAKE) -j$(NPROC) 2>&1 >/dev/null) ; \
 		if [ "$${?}" = "0" ]; then \
 			$${ECHO} "$${GREEN}success$${RESET}"; \
diff --git a/Makefile.include b/Makefile.include
index 9dbdf9b942f924a424b4216ded5b68767b4f308d..fc209e41fe281a19f5015844b4e897ba8cdeacca 100644
--- a/Makefile.include
+++ b/Makefile.include
@@ -75,6 +75,7 @@ all: $(BINDIR)$(PROJECT).a
 	@echo "Building application $(PROJECT) for $(BOARD) w/ MCU $(MCU)."
 	"$(MAKE)" -C $(RIOTBOARD)/$(BOARD)
 	"$(MAKE)" -C $(RIOTBASE)
+ifeq (,$(RIOTNOLINK))
 ifeq ($(BUILDOSXNATIVE),1)
 	$(AD)$(LINK) $(UNDEF) -o $(ELFFILE) $(BASELIBS) $(LINKFLAGS) -Wl,-no_pie
 else
@@ -82,6 +83,7 @@ else
 endif
 	$(AD)$(SIZE) $(ELFFILE)
 	$(AD)$(OBJCOPY) $(OFLAGS) $(ELFFILE) $(HEXFILE)
+endif
 
 # string array of all names of c files in dir
 SRC = $(wildcard *.c)