diff --git a/Makefile b/Makefile
index 220cd50901b13d59d1dc018fc2b39f27116ee8a8..2d3758df38229df5b76c91c600e1edb6a5ee3a86 100644
--- a/Makefile
+++ b/Makefile
@@ -93,7 +93,6 @@ menuconfig: scripts/config/mconf tmp/.config-target.in tmp/.config-package.in FO
 	$< Config.in
 
 kernel_menuconfig: .config FORCE
-	-$(MAKE) target/linux-prepare
 	$(NO_TRACE_MAKE) -C target/linux menuconfig
 
 
diff --git a/include/kernel-build.mk b/include/kernel-build.mk
index 40884220883c371fdc2d351b1a2094b22f3b0531..1df80d16f6f85cd4a58ddd9e3e4442efd099c25e 100644
--- a/include/kernel-build.mk
+++ b/include/kernel-build.mk
@@ -98,15 +98,15 @@ define BuildKernel
 	$(call Kernel/Prepare)
 	touch $$@
 
-  $(STAMP_CONFIGURED): $(LINUX_DIR)/.prepared $(LINUX_CONFIG)
+  $(STAMP_CONFIGURED): $(STAMP_PREPARED) $(LINUX_CONFIG) $(GENERIC_LINUX_CONFIG)
 	$(call Kernel/Configure)
 	touch $$@
 
-  $(LINUX_DIR)/.modules: $(LINUX_DIR)/.configured $(LINUX_DIR)/.config FORCE
+  $(LINUX_DIR)/.modules: $(STAMP_CONFIGURED) $(LINUX_DIR)/.config FORCE
 	$(call Kernel/CompileModules)
 	touch $$@
 
-  $(LINUX_DIR)/.image: $(LINUX_DIR)/.configured FORCE
+  $(LINUX_DIR)/.image: $(STAMP_CONFIGURED) FORCE
 	$(call Kernel/CompileImage)
 	touch $$@
 	
@@ -169,11 +169,11 @@ endef
 $(eval $(call shexport,Target/Description))
 
 download: $(DL_DIR)/$(LINUX_SOURCE)
-prepare: $(LINUX_DIR)/.configured
+prepare: $(STAMP_CONFIGURED)
 compile: $(LINUX_DIR)/.modules
-menuconfig: $(LINUX_DIR)/.prepared FORCE
-	$(call Kernel/Configure)
+menuconfig: $(STAMP_PREPARED) FORCE
 	$(SCRIPT_DIR)/config.pl '+' $(GENERIC_LINUX_CONFIG) $(LINUX_CONFIG) > $(LINUX_DIR)/.config
+	$(call Kernel/Configure)
 	$(MAKE) -C $(LINUX_DIR) $(KERNEL_MAKEOPTS) menuconfig
 	$(SCRIPT_DIR)/config.pl '>' $(GENERIC_LINUX_CONFIG) $(LINUX_DIR)/.config > $(LINUX_CONFIG)