diff --git a/Makefile.dep b/Makefile.dep
index 682d8108f5c8743147dc712fc69e699bba595804..c1e1ba57877a206183d541cc7960c100730b06a6 100644
--- a/Makefile.dep
+++ b/Makefile.dep
@@ -1,104 +1,104 @@
-ifneq (,$(findstring pnet, $(USEMODULE)))
-	ifeq (,$(findstring posix, $(USEMODULE)))
+ifneq (,$(filter pnet,$(USEMODULE)))
+	ifeq (,$(filter posix,$(USEMODULE)))
 		USEMODULE += posix
 	endif
-	ifeq (,$(findstring destiny, $(USEMODULE)))
+	ifeq (,$(filter destiny,$(USEMODULE)))
 		USEMODULE += destiny
 	endif
-	ifeq (,$(findstring net_help, $(USEMODULE)))
+	ifeq (,$(filter net_help,$(USEMODULE)))
 		USEMODULE += net_help
 	endif
 endif
 
-ifneq (,$(findstring posix, $(USEMODULE)))
-	ifeq (,$(findstring uart0, $(USEMODULE)))
+ifneq (,$(filter posix,$(USEMODULE)))
+	ifeq (,$(filter uart0,$(USEMODULE)))
 		USEMODULE += uart0
 	endif
 endif
 
-ifneq (,$(findstring uart0,$(USEMODULE)))
-	ifeq (,$(findstring lib,$(USEMODULE)))
+ifneq (,$(filter uart0,$(USEMODULE)))
+	ifeq (,$(filter lib,$(USEMODULE)))
 		USEMODULE += lib
 	endif
-	ifeq (,$(findstring posix,$(USEMODULE)))
+	ifeq (,$(filter posix,$(USEMODULE)))
 		USEMODULE += posix
 	endif
 endif
 
-ifneq (,$(findstring cc110x,$(USEMODULE)))
-	ifeq (,$(findstring protocol_multiplex,$(USEMODULE)))
+ifneq (,$(filter cc110x%,$(USEMODULE)))
+	ifeq (,$(filter protocol_multiplex,$(USEMODULE)))
 		USEMODULE += protocol_multiplex
 	endif
-	ifeq (,$(findstring vtimer, $(USEMODULE)))
+	ifeq (,$(filter vtimer,$(USEMODULE)))
 		USEMODULE += vtimer
 	endif
 endif
 
-ifneq (,$(findstring cc110x_ng,$(USEMODULE)))
-	ifeq (,$(findstring transceiver,$(USEMODULE)))
+ifneq (,$(filter cc110x_ng,$(USEMODULE)))
+	ifeq (,$(filter transceiver,$(USEMODULE)))
 		USEMODULE += transceiver
 	endif
-	ifeq (,$(findstring hwtimer,$(USEMODULE)))
+	ifeq (,$(filter hwtimer,$(USEMODULE)))
 		USEMODULE += hwtimer
 	endif
 endif
 
-ifneq (,$(findstring cc2420,$(USEMODULE)))
-	ifeq (,$(findstring transceiver,$(USEMODULE)))
+ifneq (,$(filter cc2420,$(USEMODULE)))
+	ifeq (,$(filter transceiver,$(USEMODULE)))
 		USEMODULE += transceiver
 	endif
-	ifeq (,$(findstring ieee802154,$(USEMODULE)))
+	ifeq (,$(filter ieee802154,$(USEMODULE)))
 		USEMODULE += ieee802154
 	endif
 endif
 
-ifneq (,$(findstring at86rf231,$(USEMODULE)))
-	ifeq (,$(findstring transceiver,$(USEMODULE)))
+ifneq (,$(filter at86rf231,$(USEMODULE)))
+	ifeq (,$(filter transceiver,$(USEMODULE)))
 		USEMODULE += transceiver
 	endif
-	ifeq (,$(findstring ieee802154,$(USEMODULE)))
+	ifeq (,$(filter ieee802154,$(USEMODULE)))
 		USEMODULE += ieee802154
 	endif
-	ifeq (,$(findstring vtimer, $(USEMODULE)))
+	ifeq (,$(filter vtimer,$(USEMODULE)))
 		USEMODULE += vtimer
 	endif
 endif
 
-ifneq (,$(findstring destiny,$(USEMODULE)))
-	ifeq (,$(findstring sixlowpan,$(USEMODULE)))
+ifneq (,$(filter destiny,$(USEMODULE)))
+	ifeq (,$(filter sixlowpan,$(USEMODULE)))
 		USEMODULE += sixlowpan
 	endif
-	ifeq (,$(findstring net_help,$(USEMODULE)))
+	ifeq (,$(filter net_help,$(USEMODULE)))
 		USEMODULE += net_help
 	endif
-	ifeq (,$(findstring vtimer, $(USEMODULE)))
+	ifeq (,$(filter vtimer,$(USEMODULE)))
 		USEMODULE += vtimer
 	endif
 endif
 
-ifneq (,$(findstring sixlowpan,$(USEMODULE)))
-	ifeq (,$(findstring ieee802154,$(USEMODULE)))
+ifneq (,$(filter sixlowpan,$(USEMODULE)))
+	ifeq (,$(filter ieee802154,$(USEMODULE)))
 		USEMODULE += ieee802154
 	endif
-	ifeq (,$(findstring net_help,$(USEMODULE)))
+	ifeq (,$(filter net_help,$(USEMODULE)))
 		USEMODULE += net_help
 	endif
-	ifeq (,$(findstring semaphore, $(USEMODULE)))
+	ifeq (,$(filter semaphore,$(USEMODULE)))
 		USEMODULE += semaphore
 	endif
-	ifeq (,$(findstring transceiver, $(USEMODULE)))
+	ifeq (,$(filter transceiver,$(USEMODULE)))
 		USEMODULE += transceiver
 	endif
-	ifeq (,$(findstring vtimer, $(USEMODULE)))
+	ifeq (,$(filter vtimer,$(USEMODULE)))
 		USEMODULE += vtimer
 	endif
 endif
 
-ifneq (,$(findstring vtimer,$(USEMODULE)))
-	ifeq (,$(findstring hwtimer,$(USEMODULE)))
+ifneq (,$(filter vtimer,$(USEMODULE)))
+	ifeq (,$(filter hwtimer,$(USEMODULE)))
 		USEMODULE += hwtimer
 	endif
-	ifeq (,$(findstring timex,$(USEMODULE)))
+	ifeq (,$(filter timex,$(USEMODULE)))
 		USEMODULE += timex
 	endif
 endif
diff --git a/boards/msb-430h/Makefile.dep b/boards/msb-430h/Makefile.dep
index 90564bbaee334a07561f950cdf520c09fce433fa..a4578de2abee0ea2c14c50d2ebb027534bd463b4 100644
--- a/boards/msb-430h/Makefile.dep
+++ b/boards/msb-430h/Makefile.dep
@@ -1,5 +1,5 @@
-ifneq (,$(findstring cc110x_ng,$(USEMODULE)))
-	ifeq (,$(findstring cc110x_spi,$(USEMODULE)))
+ifneq (,$(filter cc110x_ng,$(USEMODULE)))
+	ifeq (,$(filter cc110x_spi,$(USEMODULE)))
 		USEMODULE += cc110x_spi
 	endif
 endif
diff --git a/boards/msba2-common/Makefile.dep b/boards/msba2-common/Makefile.dep
index e062677cf766ca3b15558600f16b34ec3943395a..01d2b0809825f9a38e341bda336e6c80aedeba16 100644
--- a/boards/msba2-common/Makefile.dep
+++ b/boards/msba2-common/Makefile.dep
@@ -1,20 +1,20 @@
-ifneq (,$(findstring cc110x,$(USEMODULE)))
-	ifeq (,$(findstring gpioint,$(USEMODULE)))
+ifneq (,$(filter cc110x,$(USEMODULE)))
+	ifeq (,$(filter gpioint,$(USEMODULE)))
 		USEMODULE += gpioint
 	endif
 endif
 
-ifneq (,$(findstring cc110x_ng,$(USEMODULE)))
-	ifeq (,$(findstring cc110x_spi,$(USEMODULE)))
+ifneq (,$(filter cc110x_ng,$(USEMODULE)))
+	ifeq (,$(filter cc110x_spi,$(USEMODULE)))
 		USEMODULE += cc110x_spi
 	endif
-	ifeq (,$(findstring gpioint,$(USEMODULE)))
+	ifeq (,$(filter gpioint,$(USEMODULE)))
 		USEMODULE += gpioint
 	endif
 endif
 
-ifneq (,$(findstring ltc4150,$(USEMODULE)))
-	ifeq (,$(findstring gpioint,$(USEMODULE)))
+ifneq (,$(filter ltc4150,$(USEMODULE)))
+	ifeq (,$(filter gpioint,$(USEMODULE)))
 		USEMODULE += gpioint
 	endif
 endif
diff --git a/boards/native/Makefile.dep b/boards/native/Makefile.dep
index d79ab4cc74ac7db281d01c6045d83acfa1a419a4..483dfa9940bd2e6c669372e0682c6c461dc340ef 100644
--- a/boards/native/Makefile.dep
+++ b/boards/native/Makefile.dep
@@ -1,5 +1,5 @@
-ifneq (,$(findstring ltc4150,$(USEMODULE)))
-	ifeq (,$(findstring hwtimer,$(USEMODULE)))
+ifneq (,$(filter ltc4150,$(USEMODULE)))
+	ifeq (,$(filter hwtimer,$(USEMODULE)))
 		USEMODULE += hwtimer
 	endif
 endif
diff --git a/boards/native/Makefile.include b/boards/native/Makefile.include
index ae4055e1970f26d6730d4996f953a7d100988dc3..7652d412fbbe7e2a291fbd9b9ae3ab8aa1409b97 100644
--- a/boards/native/Makefile.include
+++ b/boards/native/Makefile.include
@@ -43,7 +43,7 @@ endif
 endif
 
 # set the tap interface for term/valgrind
-ifneq (,$(findstring nativenet,$(USEMODULE)))
+ifneq (,$(filter nativenet,$(USEMODULE)))
 	export PORT ?= tap0
 else
 	export PORT =
diff --git a/boards/wsn430-v1_3b/Makefile.dep b/boards/wsn430-v1_3b/Makefile.dep
index 4a8dfc510e6864591fbdfe361369e1afa7aec9aa..ef9279fd5e509840dcdfa2e041be9e1af2b0afec 100644
--- a/boards/wsn430-v1_3b/Makefile.dep
+++ b/boards/wsn430-v1_3b/Makefile.dep
@@ -1,5 +1,5 @@
-ifneq (,$(findstring cc110x_ng,$(USEMODULE)))
-    ifeq (,$(findstring cc110x_spi,$(USEMODULE)))
+ifneq (,$(filter cc110x_ng,$(USEMODULE)))
+    ifeq (,$(filter cc110x_spi,$(USEMODULE)))
         USEMODULE += cc110x_spi
     endif
 endif
diff --git a/boards/wsn430-v1_4/Makefile.include b/boards/wsn430-v1_4/Makefile.include
index 88b3700a3f7cd4ed737f7a8260a01b6d78222d2c..316b867f1b3a70ddf8c250aadfc386aa22d83b33 100644
--- a/boards/wsn430-v1_4/Makefile.include
+++ b/boards/wsn430-v1_4/Makefile.include
@@ -1,10 +1,10 @@
 export INCLUDES += -I$(RIOTBOARD)/wsn430-v1_4/include -I$(RIOTBOARD)/wsn430-common/include
 
-ifeq (,$(findstring cc2420,$(USEMODULE)))
+ifeq (,$(filter cc2420,$(USEMODULE)))
 	USEMODULE += cc2420
 endif
 
-ifneq (,$(findstring cc2420,$(USEMODULE)))
+ifneq (,$(filter cc2420,$(USEMODULE)))
 	INCLUDES += -I$(RIOTBASE)/drivers/cc2420/include \
 				-I$(RIOTBASE)/sys/net/include
 endif
diff --git a/cpu/lpc2387/Makefile b/cpu/lpc2387/Makefile
index fbee8f02d55c9e7a5f94dd29a6547bd9ca61229c..aea6240925294cd6062b170047e0fecc8ed8d0b2 100644
--- a/cpu/lpc2387/Makefile
+++ b/cpu/lpc2387/Makefile
@@ -3,16 +3,16 @@ MODULE =cpu
 include $(RIOTCPU)/$(CPU)/Makefile.include
 
 DIRS = $(RIOTCPU)/arm_common $(RIOTCPU)/lpc_common
-ifneq (,$(findstring gpioint,$(USEMODULE)))
+ifneq (,$(filter gpioint,$(USEMODULE)))
 	DIRS += gpioint
 endif
-ifneq (,$(findstring mci,$(USEMODULE)))
+ifneq (,$(filter mci,$(USEMODULE)))
 	DIRS += mci
 endif
-ifneq (,$(findstring rtc,$(USEMODULE)))
+ifneq (,$(filter rtc,$(USEMODULE)))
 	DIRS += rtc
 endif
-ifneq (,$(findstring i2c,$(USEMODULE)))
+ifneq (,$(filter i2c,$(USEMODULE)))
 	DIRS += i2c
 endif
 
diff --git a/cpu/mc1322x/Makefile b/cpu/mc1322x/Makefile
index 9bb19b004bb0daf2b7f00880470c9f258ddbf585..2b1f4cbbd489fb908836bdc48c21f8e3277b5f11 100644
--- a/cpu/mc1322x/Makefile
+++ b/cpu/mc1322x/Makefile
@@ -1,10 +1,10 @@
 MODULE =cpu
 
 DIRS = $(RIOTCPU)/arm_common
-ifneq (,$(findstring mc1322x_adc,$(USEMODULE)))
-  DIRS += adc
+ifneq (,$(filter mc1322x_adc,$(USEMODULE)))
+	DIRS += adc
 endif
-ifneq (,$(findstring mc1322x_asm,$(USEMODULE)))
+ifneq (,$(filter mc1322x_asm,$(USEMODULE)))
 	DIRS += asm
 endif
 
diff --git a/cpu/native/Makefile b/cpu/native/Makefile
index 0f224273c668c4dd64c84e87ec510bc1308cdea7..6ff5992f334df3a429053d0771b57b3cc09d8eb9 100644
--- a/cpu/native/Makefile
+++ b/cpu/native/Makefile
@@ -3,10 +3,10 @@ MODULE = cpu
 EXCLUDES := -I$(RIOTBASE)/sys/posix/%
 
 DIRS =
-ifneq (,$(findstring rtc,$(USEMODULE)))
+ifneq (,$(filter rtc,$(USEMODULE)))
 	DIRS += rtc
 endif
-ifneq (,$(findstring nativenet,$(USEMODULE)))
+ifneq (,$(filter nativenet,$(USEMODULE)))
 	DIRS += net
 endif
 
diff --git a/drivers/Makefile b/drivers/Makefile
index f66acf82196543a21fa3dee239f3d1817b6c90ba..e5fe1f7e9ffe803e0798fa725a1755293fd88892 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -1,38 +1,37 @@
 MODULE = drivers
 
 DIRS=
-ifneq (,$(findstring powermon,$(USEMODULE)))
+ifneq (,$(filter powermon,$(USEMODULE)))
     DIRS += powermon
 endif
-ifneq (,$(findstring cc2420,$(USEMODULE)))
+ifneq (,$(filter cc2420,$(USEMODULE)))
     DIRS += cc2420
 endif
-ifneq (,$(findstring sht11,$(USEMODULE)))
+ifneq (,$(filter sht11,$(USEMODULE)))
     DIRS += sht11
 endif
-ifneq (,$(findstring ltc4150,$(USEMODULE)))
+ifneq (,$(filter ltc4150,$(USEMODULE)))
     DIRS += ltc4150
 endif
-ifneq (,$(findstring cc110x,$(USEMODULE)))
-    ifneq (,$(findstring cc110x_ng,$(USEMODULE)))
-    	DIRS += cc110x_ng
-    else
-    	DIRS += cc110x
-    endif
+ifneq (,$(filter cc110x,$(USEMODULE)))
+    DIRS += cc110x
 endif
-ifneq (,$(findstring at86rf231,$(USEMODULE)))
+ifneq (,$(filter cc110x_ng,$(USEMODULE)))
+    DIRS += cc110x_ng
+endif
+ifneq (,$(filter at86rf231,$(USEMODULE)))
     DIRS += at86rf231
 endif
-ifneq (,$(findstring gps_ublox,$(USEMODULE)))
+ifneq (,$(filter gps_ublox,$(USEMODULE)))
     DIRS += gps_ublox
 endif
-ifneq (,$(findstring srf02,$(USEMODULE)))
+ifneq (,$(filter srf02,$(USEMODULE)))
     DIRS += srf02
 endif
-ifneq (,$(findstring srf08,$(USEMODULE)))
+ifneq (,$(filter srf08,$(USEMODULE)))
     DIRS += srf08
 endif
-ifneq (,$(findstring lm75a,$(USEMODULE)))
+ifneq (,$(filter lm75a,$(USEMODULE)))
     DIRS += lm75a
 endif
 
diff --git a/drivers/cc110x_ng/Makefile b/drivers/cc110x_ng/Makefile
index 7cd2e223ba9ef1b9149d423c72ce0ec9832e87a3..92b346a8604bc3dc489166074dd83321e1bf2390 100644
--- a/drivers/cc110x_ng/Makefile
+++ b/drivers/cc110x_ng/Makefile
@@ -1,13 +1,13 @@
 MODULE =cc110x_ng
 
 DIRS =
-ifneq (,$(findstring msb-430h,$(BOARD)))
+ifneq (,$(filter msb-430h,$(BOARD)))
 	DIRS += spi
 endif
-ifneq (,$(findstring msba2,$(BOARD)))
+ifneq (,$(filter msba2,$(BOARD)))
 	DIRS += spi
 endif
-ifneq (,$(findstring wsn430-v1_3b,$(BOARD)))
+ifneq (,$(filter wsn430-v1_3b,$(BOARD)))
 	DIRS += spi
 endif
 
diff --git a/examples/default/Makefile b/examples/default/Makefile
index 1ac0c27c089f024da8d0f7fd5fc9f7ba749bc5cd..93cf585e4b1bc27bda8694411e69ad8bfa890dda 100644
--- a/examples/default/Makefile
+++ b/examples/default/Makefile
@@ -35,19 +35,20 @@ USEMODULE += shell_commands
 USEMODULE += ps
 USEMODULE += vtimer
 USEMODULE += auto_init
-ifneq (,$(findstring msb-430,$(BOARD)))
+ifneq (,$(filter msb-430,$(BOARD)))
 	USEMODULE += sht11
 endif
-ifneq (,$(findstring chronos,$(BOARD)))
+ifneq (,$(filter msb-430h,$(BOARD)))
+	USEMODULE += sht11
 	USEMODULE += cc110x_ng
 endif
-ifneq (,$(findstring wsn430-v1_3b,$(BOARD)))
+ifneq (,$(filter chronos,$(BOARD)))
 	USEMODULE += cc110x_ng
 endif
-ifneq (,$(findstring msb-430h,$(BOARD)))
+ifneq (,$(filter wsn430-v1_3b,$(BOARD)))
 	USEMODULE += cc110x_ng
 endif
-ifneq (,$(findstring msba2,$(BOARD)))
+ifneq (,$(filter msba2,$(BOARD)))
 	USEMODULE += sht11
 	USEMODULE += ltc4150
 	USEMODULE += rtc
@@ -56,7 +57,7 @@ ifneq (,$(findstring msba2,$(BOARD)))
 	USEMODULE += config
 	USEMODULE += random
 endif
-ifneq (,$(findstring native,$(BOARD)))
+ifneq (,$(filter native,$(BOARD)))
 	USEMODULE += ltc4150
 	USEMODULE += rtc
 	USEMODULE += nativenet
diff --git a/sys/Makefile b/sys/Makefile
index b518ae2d32d30145e7224bcfcd1cf924705eba88..2a7ed4aa8975e4319fbd443514b1ebdf0b18a739 100644
--- a/sys/Makefile
+++ b/sys/Makefile
@@ -1,96 +1,96 @@
-MODULE =sys
-ifneq (,$(findstring auto_init,$(USEMODULE)))
+MODULE = sys
+ifneq (,$(filter auto_init,$(USEMODULE)))
     DIRS += auto_init
 endif
-ifneq (,$(findstring config,$(USEMODULE)))
+ifneq (,$(filter config,$(USEMODULE)))
     DIRS += config
 endif
-ifneq (,$(findstring lib,$(USEMODULE)))
+ifneq (,$(filter lib,$(USEMODULE)))
     DIRS += lib
 endif
-ifneq (,$(findstring ping,$(USEMODULE)))
+ifneq (,$(filter ping,$(USEMODULE)))
     DIRS += ping
 endif
-ifneq (,$(findstring ps,$(USEMODULE)))
+ifneq (,$(filter ps,$(USEMODULE)))
     DIRS += ps
 endif
-ifneq (,$(findstring posix,$(USEMODULE)))
+ifneq (,$(filter posix,$(USEMODULE)))
 	INCLUDES += -I$(RIOTBASE)/sys/posix/include
     DIRS += posix
 endif
-ifneq (,$(findstring pnet,$(USEMODULE)))
+ifneq (,$(filter pnet,$(USEMODULE)))
     DIRS += posix/pnet
 endif
-ifneq (,$(findstring shell,$(USEMODULE)))
+ifneq (,$(filter shell,$(USEMODULE)))
     DIRS += shell
 endif
-ifneq (,$(findstring shell_commands,$(USEMODULE)))
+ifneq (,$(filter shell_commands,$(USEMODULE)))
     DIRS += shell/commands
 endif
-ifneq (,$(findstring timex,$(USEMODULE)))
+ifneq (,$(filter timex,$(USEMODULE)))
     DIRS += timex
 endif
-ifneq (,$(findstring transceiver,$(USEMODULE)))
+ifneq (,$(filter transceiver,$(USEMODULE)))
     DIRS += transceiver
 endif
-ifneq (,$(findstring uart0,$(USEMODULE)))
+ifneq (,$(filter uart0,$(USEMODULE)))
     DIRS += uart0
 endif
-ifneq (,$(findstring vtimer,$(USEMODULE)))
+ifneq (,$(filter vtimer,$(USEMODULE)))
     DIRS += vtimer
 endif
-ifneq (,$(findstring destiny,$(USEMODULE)))
+ifneq (,$(filter destiny,$(USEMODULE)))
     DIRS += net/transport_layer/destiny
 endif
-ifneq (,$(findstring net_help,$(USEMODULE)))
+ifneq (,$(filter net_help,$(USEMODULE)))
     DIRS += net/crosslayer/net_help
 endif
-ifneq (,$(findstring protocol_multiplex,$(USEMODULE)))
+ifneq (,$(filter protocol_multiplex,$(USEMODULE)))
     DIRS += net/link_layer/protocol-multiplex
 endif
-ifneq (,$(findstring sixlowpan,$(USEMODULE)))
+ifneq (,$(filter sixlowpan,$(USEMODULE)))
     DIRS += net/network_layer/sixlowpan
 endif
-ifneq (,$(findstring rpl,$(USEMODULE)))
+ifneq (,$(filter rpl,$(USEMODULE)))
     DIRS += net/routing/rpl
 endif
-ifneq (,$(findstring ieee802154,$(USEMODULE)))
+ifneq (,$(filter ieee802154,$(USEMODULE)))
     DIRS += net/link_layer/ieee802154
 endif
-ifneq (,$(findstring bloom,$(USEMODULE)))
+ifneq (,$(filter bloom,$(USEMODULE)))
     DIRS += bloom
 endif
-ifneq (,$(findstring crypto_3des,$(USEMODULE)))
+ifneq (,$(filter crypto_3des,$(USEMODULE)))
     DIRS += crypto/3des
 endif
-ifneq (,$(findstring crypto_aes,$(USEMODULE)))
+ifneq (,$(filter crypto_aes,$(USEMODULE)))
     DIRS += crypto/aes
 endif
-ifneq (,$(findstring crypto_rc5,$(USEMODULE)))
+ifneq (,$(filter crypto_rc5,$(USEMODULE)))
     DIRS += crypto/rc5
 endif
-ifneq (,$(findstring crypto_sha256,$(USEMODULE)))
+ifneq (,$(filter crypto_sha256,$(USEMODULE)))
     DIRS += crypto/sha256
 endif
-ifneq (,$(findstring crypto_skipjack,$(USEMODULE)))
+ifneq (,$(filter crypto_skipjack,$(USEMODULE)))
     DIRS += crypto/skipjack
 endif
-ifneq (,$(findstring crypto_twofish,$(USEMODULE)))
+ifneq (,$(filter crypto_twofish,$(USEMODULE)))
     DIRS += crypto/twofish
 endif
-ifneq (,$(findstring random,$(USEMODULE)))
+ifneq (,$(filter random,$(USEMODULE)))
     DIRS += random
 endif
-ifneq (,$(findstring hashes,$(USEMODULE)))
+ifneq (,$(filter hashes,$(USEMODULE)))
     DIRS += hashes
 endif
-ifneq (,$(findstring semaphore,$(USEMODULE)))
+ifneq (,$(filter semaphore,$(USEMODULE)))
     DIRS += semaphore
 endif
-ifneq (,$(findstring ccn_lite,$(USEMODULE)))
+ifneq (,$(filter ccn_lite,$(USEMODULE)))
     DIRS += net/ccn_lite
 endif
-ifneq (,$(findstring ccn_lite_client,$(USEMODULE)))
+ifneq (,$(filter ccn_lite_client,$(USEMODULE)))
     DIRS += net/ccn_lite/util
 endif
 ifneq (,$(findstring quad_math,$(USEMODULE)))
diff --git a/sys/shell/commands/Makefile b/sys/shell/commands/Makefile
index 13beb78fefe1fc09ec1019dd2007f5da05253235..4509c6c9077d76093870d0d8bd016080d5f85f75 100644
--- a/sys/shell/commands/Makefile
+++ b/sys/shell/commands/Makefile
@@ -1,32 +1,32 @@
 SRC = shell_commands.c sc_id.c
 
-ifneq (,$(findstring transceiver,$(USEMODULE)))
+ifneq (,$(filter transceiver,$(USEMODULE)))
 	SRC += sc_transceiver.c
 endif
-ifneq (,$(findstring cc110x,$(USEMODULE)))
-	ifeq (,$(findstring transceiver,$(USEMODULE)))
+ifneq (,$(filter cc110x,$(USEMODULE)))
+	ifeq (,$(filter transceiver,$(USEMODULE)))
 		SRC += sc_cc1100.c
 	endif
 endif
-ifneq (,$(findstring mci,$(USEMODULE)))
+ifneq (,$(filter mci,$(USEMODULE)))
 	SRC += sc_disk.c
 endif
-ifneq (,$(findstring ltc4150,$(USEMODULE)))
+ifneq (,$(filter ltc4150,$(USEMODULE)))
 	SRC += sc_ltc4150.c
 endif
-ifneq (,$(findstring ps,$(USEMODULE)))
+ifneq (,$(filter ps,$(USEMODULE)))
 	SRC += sc_ps.c
 endif
-ifneq (,$(findstring rtc,$(USEMODULE)))
+ifneq (,$(filter rtc,$(USEMODULE)))
 	SRC += sc_rtc.c
 endif
-ifneq (,$(findstring sht11,$(USEMODULE)))
+ifneq (,$(filter sht11,$(USEMODULE)))
 	SRC += sc_sht11.c
 endif
-ifneq (,$(findstring lpc_common,$(USEMODULE)))
+ifneq (,$(filter lpc_common,$(USEMODULE)))
 	SRC += sc_heap.c
 endif
-ifneq (,$(findstring random,$(USEMODULE)))
+ifneq (,$(filter random,$(USEMODULE)))
 	SRC += sc_mersenne.c
 endif
 
diff --git a/tests/test_bloom/Makefile b/tests/test_bloom/Makefile
index 1d5d7ddefa46b048d679e0c6d6a7ecb1afee0ab6..893f54686268680fbad2960a47595f6bcf113350 100644
--- a/tests/test_bloom/Makefile
+++ b/tests/test_bloom/Makefile
@@ -7,8 +7,11 @@ export BOARD ?= native
 # this has to be the absolute path of the RIOT-base dir
 export RIOTBASE = $(CURDIR)/../..
 
-ifneq (,$(findstring msb-430,$(BOARD)))
-include $(RIOTBASE)/Makefile.unsupported
+ifneq (,$(filter msb-430,$(BOARD)))
+	include $(RIOTBASE)/Makefile.unsupported
+else
+ifneq (,$(filter msb-430h,$(BOARD)))
+	include $(RIOTBASE)/Makefile.unsupported
 else
 
 ## Modules to include.
diff --git a/tests/test_bloom_bytes/Makefile b/tests/test_bloom_bytes/Makefile
index 95380e5f534786d02367ed54fa0abf9cb15a4569..74998e3a8169fb8ce9e9960a36863d864fa82ed1 100644
--- a/tests/test_bloom_bytes/Makefile
+++ b/tests/test_bloom_bytes/Makefile
@@ -7,7 +7,7 @@ export BOARD ?= native
 # this has to be the absolute path of the RIOT-base dir
 export RIOTBASE = $(CURDIR)/../..
 
-ifneq (,$(findstring msb-430,$(BOARD)))
+ifneq (,$(filter msb-430,$(BOARD)))
 include $(RIOTBASE)/Makefile.unsupported
 else
 
diff --git a/tests/test_irq/Makefile b/tests/test_irq/Makefile
index 97ea8be88aad4af32b0236ef44fafcfc8bcd6e82..4ba01fed065be05794a6f21b87465fb8a076ccd9 100644
--- a/tests/test_irq/Makefile
+++ b/tests/test_irq/Makefile
@@ -7,7 +7,7 @@ export BOARD ?= native
 # this has to be the absolute path of the RIOT-base dir
 export RIOTBASE = $(CURDIR)/../..
 
-ifeq (,$(findstring native,$(BOARD)))
+ifeq (,$(filter native,$(BOARD)))
 	include $(RIOTBASE)/Makefile.unsupported
 else
 
diff --git a/tests/test_nativenet/Makefile b/tests/test_nativenet/Makefile
index 161280568be448f394d438c0ac4ee414540e5432..788af87e4dc6b786b2047c59e75996524dd58d63 100644
--- a/tests/test_nativenet/Makefile
+++ b/tests/test_nativenet/Makefile
@@ -10,7 +10,7 @@ export BOARD = native
 # this has to be the absolute path of the RIOT-base dir
 export RIOTBASE = $(CURDIR)/../..
 
-ifeq (,$(findstring native,$(BOARD)))
+ifeq (,$(filter native,$(BOARD)))
 include $(RIOTBASE)/Makefile.unsupported
 else