diff --git a/gui/settingsdialog.cpp b/gui/settingsdialog.cpp
index 7ccbf697a..2142fab5a 100644
--- a/gui/settingsdialog.cpp
+++ b/gui/settingsdialog.cpp
@@ -175,9 +175,11 @@ void SettingsDialog::SaveSettingValues() const
     SaveCheckboxValue(&settings, mUI.mEnableInconclusive, SETTINGS_INCONCLUSIVE_ERRORS);
     SaveCheckboxValue(&settings, mUI.mShowErrorId, SETTINGS_SHOW_ERROR_ID);
 
-    QListWidgetItem *currentLang = mUI.mListLanguages->currentItem();
-    const QString langcode = currentLang->data(LangCodeRole).toString();
-    settings.setValue(SETTINGS_LANGUAGE, langcode);
+    const QListWidgetItem *currentLang = mUI.mListLanguages->currentItem();
+    if (currentLang) {
+        const QString langcode = currentLang->data(LangCodeRole).toString();
+        settings.setValue(SETTINGS_LANGUAGE, langcode);
+    }
 
     const int count = mUI.mListIncludePaths->count();
     QString includePaths;