diff --git a/src/settingswidget.cpp b/src/settingswidget.cpp
index 06ee0001303e7f3baf958d125736e12f7595f624..fef2fc4c6f4e685565f429abd59648ef97e89e16 100644
--- a/src/settingswidget.cpp
+++ b/src/settingswidget.cpp
@@ -1277,14 +1277,16 @@ SettingsWidget::populateVideoSettings()
         }
         ui->deviceBox->setCurrentIndex(deviceIndex);
         setFormatListForDevice(LRCInstance::avModel().getCurrentVideoCaptureDevice());
-
-        bool isSIP = LRCInstance::getCurrentAccountInfo().profileInfo.type == lrc::api::profile::Type::SIP;
-        auto photoBooth = isSIP ? ui->currentSIPAccountAvatar : ui->currentAccountAvatar;
-
-        if ( (photoBooth->isVisible() && LRCInstance::renderer()->isPreviewing()) ||
-             selectedMenu_ == SettingsMenu::Media) {
-            startPreviewing(false);
-        }
+        try
+        {
+            bool isSIP = LRCInstance::getCurrentAccountInfo().profileInfo.type == lrc::api::profile::Type::SIP;
+            auto photoBooth = isSIP ? ui->currentSIPAccountAvatar : ui->currentAccountAvatar;
+
+            if ((photoBooth->isVisible() && LRCInstance::renderer()->isPreviewing()) ||
+                selectedMenu_ == SettingsMenu::Media) {
+                startPreviewing(false);
+            }
+        } catch (...) {}
     }
 
     connect(ui->deviceBox, QOverload<int>::of(&QComboBox::currentIndexChanged),