diff --git a/update_config.sh b/update_config.sh
index f761ddb6f86fb53423e29447c913313d8a9a2cf4..d39ad0d4711ea49384f7239b764c4c6a67a2ac9b 100755
--- a/update_config.sh
+++ b/update_config.sh
@@ -1,10 +1,19 @@
 #!/bin/bash -e
 
-[[ -e src/linux/.config ]] || makepkg --nobuild --force
+config_equal()
+{
+	diff -q -s src/linux/.config config.x86_64
+}
 
-(cd src/linux && make oldconfig)
+if config_equal; then
+	(cd src/linux && make menuconfig)
+else
+	[[ -e src ]] && rm -r src
+	makepkg --nobuild --force
+	(cd src/linux && make oldconfig)
+fi
 
-if ! diff -q -s src/linux/.config config.x86_64; then
+if ! config_equal; then
 	cp src/linux/.config config.x86_64
 	updpkgsums
 fi