diff --git a/advancedsettingswidget.cpp b/advancedsettingswidget.cpp
index f376ffea790badda693c3701c03bcca32b630e7d..a5dde9bd376dd0b585e21dd79b66eeccc339607f 100644
--- a/advancedsettingswidget.cpp
+++ b/advancedsettingswidget.cpp
@@ -15,13 +15,15 @@
  * You should have received a copy of the GNU General Public License       *
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
  **************************************************************************/
+#include "advancedsettingswidget.h"
+#include "ui_advancedsettingswidget.h"
+
 #include <QFileDialog>
 
-#include "lrcinstance.h"
 #include "api/newcodecmodel.h"
 
-#include "advancedsettingswidget.h"
-#include "ui_advancedsettingswidget.h"
+#include "lrcinstance.h"
+#include "utils.h"
 
 AdvancedSettingsWidget::AdvancedSettingsWidget(QWidget* parent)
     :QWidget(parent),
@@ -29,7 +31,6 @@ AdvancedSettingsWidget::AdvancedSettingsWidget(QWidget* parent)
 {
     ui->setupUi(this);
 
-    updateAdvancedSettings();
 ///////////////////////////////////////////////////////////////////////////////
     // call settings
     connect(ui->checkBoxUntrusted, &QAbstractButton::clicked, this, &AdvancedSettingsWidget::setCallsUntrusted);
@@ -75,12 +76,6 @@ AdvancedSettingsWidget::AdvancedSettingsWidget(QWidget* parent)
     connect(ui->videoDownPushButton, &QPushButton::clicked, this, &AdvancedSettingsWidget::decreaseVideoCodecPriority);
     connect(ui->videoUpPushButton, &QPushButton::clicked, this, &AdvancedSettingsWidget::increaseVideoCodecPriority);
 
-///////////////////////////////////////////////////////////////////////////////
-    ui->btnRingtone->setEnabled(LRCInstance::getCurrAccConfig().Ringtone.ringtoneEnabled);
-    ui->btnRingtone->setText(QFileInfo(QString::fromStdString(LRCInstance::getCurrAccConfig().Ringtone.ringtonePath)).fileName());
-    ui->lineEditProxy->setEnabled(LRCInstance::getCurrAccConfig().proxyEnabled);
-    ui->lineEditSTUNAddress->setEnabled(LRCInstance::getCurrAccConfig().STUN.enable);
-
 }
 
 AdvancedSettingsWidget::~AdvancedSettingsWidget()
@@ -123,6 +118,11 @@ AdvancedSettingsWidget::updateAdvancedSettings()
     ui->videoCheckBox->setChecked(config.Video.videoEnabled);
     updateAudioCodecs();
     updateVideoCodecs();
+
+    ui->btnRingtone->setEnabled(LRCInstance::getCurrAccConfig().Ringtone.ringtoneEnabled);
+    ui->btnRingtone->setText(QFileInfo(QString::fromStdString(LRCInstance::getCurrAccConfig().Ringtone.ringtonePath)).fileName());
+    ui->lineEditProxy->setEnabled(LRCInstance::getCurrAccConfig().proxyEnabled);
+    ui->lineEditSTUNAddress->setEnabled(LRCInstance::getCurrAccConfig().STUN.enable);
 }
 
 // call settings
diff --git a/advancedsettingswidget.h b/advancedsettingswidget.h
index 1d7c1fdb7ccb263d77fb21651b1544d284f798fd..fc0036f7d29d8ff7fd897df20409c60744146c73 100644
--- a/advancedsettingswidget.h
+++ b/advancedsettingswidget.h
@@ -34,9 +34,10 @@ public:
     AdvancedSettingsWidget(QWidget* parent = nullptr);
     ~AdvancedSettingsWidget();
 
+    void updateAdvancedSettings();
+
 private:
     Ui::AdvancedSettingsWidget* ui;
-    void updateAdvancedSettings();
 
 private slots:
 // call settings
@@ -85,5 +86,4 @@ private slots:
 
     void setVideoState(int state);
 
-
 };
\ No newline at end of file
diff --git a/settingswidget.cpp b/settingswidget.cpp
index 7361a37613ed33b1ddb7fe0eb9420ef42e309247..21f826e177881bf5c8c16b8fafd72a1861933047 100644
--- a/settingswidget.cpp
+++ b/settingswidget.cpp
@@ -261,6 +261,7 @@ SettingsWidget::toggleAdvancedSettings()
         ui->advancedAccountSettingsPButton->setIcon(QPixmap(":/images/icons/round-arrow_drop_up-24px.svg"));
         ui->scrollBarLabel->hide();
         ui->advancedSettingsWidget->setVisible(true);
+        ui->advancedSettingsWidget->updateAdvancedSettings();
         QTimer::singleShot(50, this,
             [this] {
                 auto top = ui->advancedAccountSettingsPButton->frameGeometry().top();