diff --git a/subsys/bluetooth/mesh/light_ctrl_srv.c b/subsys/bluetooth/mesh/light_ctrl_srv.c index 5b070b2f8fc9..9e98fb3f0d8c 100644 --- a/subsys/bluetooth/mesh/light_ctrl_srv.c +++ b/subsys/bluetooth/mesh/light_ctrl_srv.c @@ -562,6 +562,12 @@ static void timeout(struct k_work *work) if (!is_enabled(srv)) { if (srv->resume && atomic_test_and_clear_bit(&srv->flags, FLAG_RESUME_TIMER)) { LOG_DBG("Resuming LC server"); + if (IS_ENABLED(CONFIG_BT_MESH_SCENE_SRV)) { + /* Resuming the LC server invalidates the current scene as it takes + * control over states that are stored with the scene. + */ + bt_mesh_scene_invalidate(srv->model); + } ctrl_enable(srv); store(srv, FLAG_STORE_STATE); }