diff --git a/openwrt/Config.in b/openwrt/Config.in
index 5867be0e6f30623023ec31cb76e53ebb9324886a..31ddbac6d736001ef987b769b02348a185529660 100644
--- a/openwrt/Config.in
+++ b/openwrt/Config.in
@@ -86,7 +86,7 @@ config BR2_TAR_VERBOSITY
 
 config BR2_STAGING_DIR
 	string "Toolchain and header file location?"
-	default "$(BUILD_DIR)/staging_dir"
+	default "$(BASE_DIR)/staging_dir_$(ARCH)$(ARCH_FPU_SUFFIX)"
 	help
 	    This is the location where the toolchain will be installed.
 	    Since the toolchain will not work if it is moved from this
@@ -95,7 +95,7 @@ config BR2_STAGING_DIR
 	    the toolchain will be used.
 
 	    Most people will leave this set to the default value of
-	    "$(BUILD_DIR)/staging_dir".
+	    "$(BASE_DIR)/staging_dir_$(ARCH)$(ARCH_FPU_SUFFIX)".
 
 config BR2_JLEVEL
 	int "Number of jobs to run simultaneously"
diff --git a/openwrt/Makefile b/openwrt/Makefile
index ef60ff198812031cf5b80f4d7895aa61bddabfc1..3d9bcb3870677a2ecc98cf3fc91e4ec64a631637 100644
--- a/openwrt/Makefile
+++ b/openwrt/Makefile
@@ -116,7 +116,7 @@ dirclean: clean
 	rm -rf $(BUILD_DIR)
 
 distclean: clean
-	rm -rf $(STAMP_DIR) $(DL_DIR) $(BUILD_DIR) $(TOOL_BUILD_DIR)
+	rm -rf $(STAMP_DIR) $(DL_DIR) $(BUILD_DIR) $(TOOL_BUILD_DIR) $(STAGING_DIR)
 	rm -f .config* .tmpconfig.h
 
 sourceball: distclean