diff --git a/modules/stream_out/chromecast/chromecast_ctrl.cpp b/modules/stream_out/chromecast/chromecast_ctrl.cpp
index de620d3e1f06cdfa3f94b0a10493d1e71cae3c4c..e12100ea7d0232aee69e742e5e992f49d5ab409d 100644
--- a/modules/stream_out/chromecast/chromecast_ctrl.cpp
+++ b/modules/stream_out/chromecast/chromecast_ctrl.cpp
@@ -302,8 +302,8 @@ void intf_sys_t::processMessage(const castchannel::CastMessage &msg)
                 if (!appTransportId.empty()
                         && getConnectionStatus() == CHROMECAST_AUTHENTICATED)
                 {
-                    setConnectionStatus(CHROMECAST_APP_STARTED);
                     msgConnect(appTransportId);
+                    setConnectionStatus(CHROMECAST_APP_STARTED);
                     msgPlayerLoad();
                     setConnectionStatus(CHROMECAST_MEDIA_LOAD_SENT);
                     vlc_cond_signal(&loadCommandCond);