diff --git a/python_payload/apps/w1f1/__init__.py b/python_payload/apps/w1f1/__init__.py
index 25932226a8c879b9394390a2827e2bd3a59615e2..050b0b23eceea0ea8aec48a47255a97f663c3ab9 100644
--- a/python_payload/apps/w1f1/__init__.py
+++ b/python_payload/apps/w1f1/__init__.py
@@ -163,6 +163,7 @@ class WifiApp(Application):
             json.dump(self._wifi_config, f)
 
     def connect_wifi(self, ssid: str, psk: str = None) -> None:
+        self._status_text = "connecting"
         if ssid in self._wifi_config["networks"]:
             psk = self._wifi_config["networks"][ssid]["psk"]
 
@@ -175,10 +176,10 @@ class WifiApp(Application):
             self.update_settings_json(ssid, psk)
             if ssid not in self._wifi_config["networks"]:
                 self.add_to_config_json(ssid, psk)
+            self._status_text = "connected"
         except OSError as e:
             self._status_text = str(e)
             self._is_connecting = False
-        self._status_text = "connecting"
 
     def think(self, ins: InputState, delta_ms: int) -> None:
         super().think(ins, delta_ms)