diff --git a/package/hostapd/patches/453-ap_sta_support.patch b/package/hostapd/patches/453-ap_sta_support.patch
index c2f4d7c6f0005fec6c5278cc7f0369837865fe0b..99c4b0e4f7adbbba2e6548f6c81796bbe86ce636 100644
--- a/package/hostapd/patches/453-ap_sta_support.patch
+++ b/package/hostapd/patches/453-ap_sta_support.patch
@@ -90,7 +90,7 @@
  /* Configure default/group WEP keys for static WEP */
  int wpa_set_wep_keys(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid)
  {
-@@ -548,6 +597,10 @@ void wpa_supplicant_set_state(struct wpa
+@@ -548,8 +597,14 @@ void wpa_supplicant_set_state(struct wpa
  #ifndef IEEE8021X_EAPOL
  		wpa_drv_set_supp_port(wpa_s, 1);
  #endif
@@ -100,8 +100,12 @@
 +#endif
  	} else if (state == WPA_DISCONNECTED || state == WPA_ASSOCIATING ||
  		   state == WPA_ASSOCIATED) {
++		if (wpa_s->hostapd)
++			hostapd_stop(wpa_s);
  		wpa_s->new_connection = 1;
-@@ -1957,6 +2010,21 @@ static int wpa_supplicant_init_iface(str
+ 		wpa_drv_set_operstate(wpa_s, 0);
+ #ifndef IEEE8021X_EAPOL
+@@ -1957,6 +2012,21 @@ static int wpa_supplicant_init_iface(str
  		os_strlcpy(wpa_s->bridge_ifname, iface->bridge_ifname,
  			   sizeof(wpa_s->bridge_ifname));
  	}