diff --git a/include/toplevel.mk b/include/toplevel.mk
index e9384aebca654b0d885c1b31ef9681c753c2437d..b215e41afdb90a0d8d54eb60f621942b081259fc 100644
--- a/include/toplevel.mk
+++ b/include/toplevel.mk
@@ -133,6 +133,13 @@ prereq:: prepare-tmpinfo .config
 	@+$(NO_TRACE_MAKE) -r -s $@
 
 %::
+	@( \
+		cp .config tmp/.config; \
+		./scripts/config/conf -D tmp/.config -w tmp/.config Config.in > /dev/null 2>&1; \
+		if ./scripts/kconfig.pl '>' .config tmp/.config | grep -q CONFIG; then \
+			echo "WARNING: your configuration is out of sync. Please run make menuconfig, oldconfig or defconfig!"; \
+		fi \
+	)
 	@+$(PREP_MK) $(NO_TRACE_MAKE) -r -s prereq
 	@+$(SUBMAKE) -r $@