diff --git a/openwrt/Makefile b/openwrt/Makefile
index 92137eac20c4e5e2b06b9440e200060e1624ff15..dfa272120bb2a02061c30ae82f7cfdd38792ada1 100644
--- a/openwrt/Makefile
+++ b/openwrt/Makefile
@@ -166,27 +166,48 @@ $(CONFIG)/mconf:
 	fi
 
 menuconfig: $(CONFIG)/mconf
+	-touch .config
+	-cp .config .config.test
 	@$(CONFIG)/mconf $(CONFIG_CONFIG_IN)
+	-./scripts/configtest.pl
 
 config: $(CONFIG)/conf
+	-touch .config
+	-cp .config .config.test
 	@$(CONFIG)/conf $(CONFIG_CONFIG_IN)
+	-./scripts/configtest.pl
 
 oldconfig: $(CONFIG)/conf
+	-touch .config
+	-cp .config .config.test
 	@$(CONFIG)/conf -o $(CONFIG_CONFIG_IN)
+	-./scripts/configtest.pl
 
 randconfig: $(CONFIG)/conf
+	-touch .config
+	-cp .config .config.test
 	@$(CONFIG)/conf -r $(CONFIG_CONFIG_IN)
+	-./scripts/configtest.pl
 
 allyesconfig: $(CONFIG)/conf
 	#@$(CONFIG)/conf -y $(CONFIG_CONFIG_IN)
 	#sed -i -e "s/^CONFIG_DEBUG.*/# CONFIG_DEBUG is not set/" .config
+	-touch .config
+	-cp .config .config.test
 	@$(CONFIG)/conf -o $(CONFIG_CONFIG_IN)
+	-./scripts/configtest.pl
 
 allnoconfig: $(CONFIG)/conf
+	-touch .config
+	-cp .config .config.test
 	@$(CONFIG)/conf -n $(CONFIG_CONFIG_IN)
+	-./scripts/configtest.pl
 
 defconfig: $(CONFIG)/conf
+	-touch .config
+	-cp .config .config.test
 	@$(CONFIG)/conf -d $(CONFIG_CONFIG_IN)
+	-./scripts/configtest.pl
 
 #############################################################
 #
diff --git a/openwrt/README b/openwrt/README
index c79070cfa37496f4da4842868bf01fc89ea16172..7d937e76d39d68aa238126ff9dbcaba53d03ecde 100644
--- a/openwrt/README
+++ b/openwrt/README
@@ -8,7 +8,7 @@ Simply running 'make' will build your firmware and a tarball
 of kernel modules. It will download all sources, build the 
 cross-compile toolchain, the kernel and all choosen applications.
 
-You can use flash.sh for remotely updating your embedded system
+You can use scripts/flash.sh for remotely updating your embedded system
 via tftp.
 
 
diff --git a/openwrt/package/config/mconf.c b/openwrt/package/config/mconf.c
index 659e49cd64183ecbda497e7e546c668a233daf87..0db6f8f6c8a8d1d76e660194b0f924d1b82eeb22 100644
--- a/openwrt/package/config/mconf.c
+++ b/openwrt/package/config/mconf.c
@@ -705,7 +705,6 @@ int main(int ac, char **av)
 		conf_write(NULL);
 		printf("\n\n"
 			"*** End of Buildroot configuration.\n"
-			"*** After changing root fs, use make linux-dirclean.\n"
 			"*** Check the top-level Makefile for additional configuration options.\n\n");
 	} else
 		printf("\n\nYour Buildroot configuration changes were NOT saved.\n\n");
diff --git a/openwrt/scripts/configtest.pl b/openwrt/scripts/configtest.pl
new file mode 100755
index 0000000000000000000000000000000000000000..61fe8a7b629bead1d21747ec86e421ae9de0b810
--- /dev/null
+++ b/openwrt/scripts/configtest.pl
@@ -0,0 +1,11 @@
+#!/usr/bin/perl
+
+my %change = (
+	'ROOTFS' => 'make linux-dirclean'
+);
+
+foreach my $change (keys %change) {
+	my $v1 = `grep '$change' .config.test`;
+	my $v2 = `grep '$change' .config`;
+	$v1 eq $v2 or system($change{$change});
+}
diff --git a/openwrt/flash.sh b/openwrt/scripts/flash.sh
similarity index 100%
rename from openwrt/flash.sh
rename to openwrt/scripts/flash.sh
diff --git a/openwrt/target/Config.in b/openwrt/target/Config.in
index 0fe83857c9e49d1b8cc63dbb4be23fa6817df30b..36616f07b8d61e2b0a275bc2bf218a7189819f83 100644
--- a/openwrt/target/Config.in
+++ b/openwrt/target/Config.in
@@ -1,5 +1,3 @@
-comment "after changing root fs, use make linux-dirclean"
-
 choice
 	prompt "Target Root Filesystem"
 	source "target/jffs2/Config.in"