diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c
index 0a09b00..c1ac6fa 100644
--- a/wpa_supplicant/p2p_supplicant.c
+++ b/wpa_supplicant/p2p_supplicant.c
@@ -4153,8 +4153,10 @@ static void wpas_p2p_ie_update(void *ctx, struct wpabuf *beacon_ies,
 			wpabuf_free(hapd->p2p_beacon_ie);
 			hapd->p2p_beacon_ie = beacon_ies;
 		}
-		wpabuf_free(hapd->p2p_probe_resp_ie);
-		hapd->p2p_probe_resp_ie = proberesp_ies;
+		if (proberesp_ies) {
+			wpabuf_free(hapd->p2p_probe_resp_ie);
+			hapd->p2p_probe_resp_ie = proberesp_ies;
+		}
 	} else {
 		wpabuf_free(beacon_ies);
 		wpabuf_free(proberesp_ies);
