diff --git a/configure b/configure
index 8343c2af708bbacb97d3d6470a22e3aab1541efd..7a96488cd6003ad5bf90b9ef2be6b5e7b5a78596 100755
--- a/configure
+++ b/configure
@@ -615,7 +615,7 @@ disable_safe(){
 do_enable_deep(){
     for var; do
         enabled $var && continue
-        eval sel="\$${var}_select\ \$${var}_select_any"
+        eval sel="\$${var}_select"
         eval sgs="\$${var}_suggest"
         pushvar var sgs
         enable_deep $sel
@@ -640,11 +640,26 @@ enable_deep_weak(){
     done
 }
 
+do_enable_deep_force(){
+    for var; do
+        enabled $var && continue
+        eval sel="\$${var}_select\ \$${var}_suggest\ \$${var}_select_any"
+        pushvar var
+        enable_deep_force $sel
+        popvar var
+    done
+}
+
+enable_deep_force(){
+    do_enable_deep_force $*
+    enable $*
+}
+
 request(){
     for var; do
         enable ${var}_requested
     done
-    enable_deep $*
+    enable_deep_force $*
 }
 
 enabled(){