diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.58.0.bb b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.58.0.bb
index 2dc7605f76..b9a33fe9f6 100644
--- a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.58.0.bb
+++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.58.0.bb
@@ -70,12 +70,16 @@ EXTRA_OEMESON = "\
     -Dman=false \
 "
 
+# Select either wpa-supplicant or iwd
+WIRELESS_DAEMON ??= "wpa-supplicant"
+
 PACKAGECONFIG ??= "readline nss ifupdown dnsmasq nmcli \
     ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \
     ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \
     ${@bb.utils.filter('DISTRO_FEATURES', 'wifi polkit ppp', d)} \
     ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux audit', '', d)} \
     ${@bb.utils.contains('DISTRO_FEATURES', 'gobject-introspection-data', 'vala', '', d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', bb.utils.filter('WIRELESS_DAEMON', 'iwd', d), '', d)} \
 "
 
 inherit ${@bb.utils.contains('PACKAGECONFIG', 'vala', 'vala', '', d)}
