diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c
index f3be9e7b..2ebfa2c6 100644
--- a/gsupplicant/supplicant.c
+++ b/gsupplicant/supplicant.c
@@ -4955,6 +4955,7 @@ static void add_network_security(DBusMessageIter *dict, GSupplicantSSID *ssid)
 		add_network_security_ciphers(dict, ssid);
 		break;
 	case G_SUPPLICANT_SECURITY_PSK:
+		ieee80211w = G_SUPPLICANT_MFP_OPTIONAL;
 		if (ssid->keymgmt & G_SUPPLICANT_KEYMGMT_SAE) {
 			if (ssid->keymgmt & G_SUPPLICANT_KEYMGMT_WPA_PSK) {
 				/*
@@ -4962,15 +4963,16 @@ static void add_network_security(DBusMessageIter *dict, GSupplicantSSID *ssid)
 				 * WPA2-Personal (PSK) and WPA3-Personal (SAE)
 				 */
 				key_mgmt = "SAE WPA-PSK";
-				ieee80211w = G_SUPPLICANT_MFP_OPTIONAL;
 			} else {
 				key_mgmt = "SAE";
 				ieee80211w = G_SUPPLICANT_MFP_REQUIRED;
 			}
-			add_network_ieee80211w(dict, ssid, ieee80211w);
+		} else if (ssid->keymgmt & G_SUPPLICANT_KEYMGMT_WPA_PSK_256) {
+			key_mgmt = "WPA-PSK-SHA256";
 		} else {
 			key_mgmt = "WPA-PSK";
 		}
+		add_network_ieee80211w(dict, ssid, ieee80211w);
 		add_network_security_psk(dict, ssid);
 		add_network_security_ciphers(dict, ssid);
 		add_network_security_proto(dict, ssid);
