diff --git a/src/libs/utils/consoleprocess.cpp b/src/libs/utils/consoleprocess.cpp
index 630783fa18d14f37b3b2461e3a780d975a3e8734..d5430d91d90b87a3b46225b9f0ea556660387034 100644
--- a/src/libs/utils/consoleprocess.cpp
+++ b/src/libs/utils/consoleprocess.cpp
@@ -141,11 +141,11 @@ QString ConsoleProcess::msgCannotExecute(const QString & p, const QString &why)
     return tr("Cannot execute '%1': %2").arg(p, why);
 }
 
-QString ConsoleProcess::terminalEmulator(const QSettings *settings)
+QString ConsoleProcess::terminalEmulator(const QSettings *settings, bool nonEmpty)
 {
     if (settings) {
         const QString value = settings->value(QLatin1String("General/TerminalEmulator")).toString();
-        if (!value.isEmpty())
+        if (!nonEmpty || !value.isEmpty())
             return value;
     }
     return defaultTerminalEmulator();
diff --git a/src/libs/utils/consoleprocess.h b/src/libs/utils/consoleprocess.h
index 8dcff02bf13e808387c61b864968fbe9475d077c..5b99961ad94800d722ba366fe3e979744f46e70f 100644
--- a/src/libs/utils/consoleprocess.h
+++ b/src/libs/utils/consoleprocess.h
@@ -96,7 +96,7 @@ public:
 
     static QString defaultTerminalEmulator();
     static QStringList availableTerminalEmulators();
-    static QString terminalEmulator(const QSettings *settings);
+    static QString terminalEmulator(const QSettings *settings, bool nonEmpty = true);
     static void setTerminalEmulator(QSettings *settings, const QString &term);
 
 signals:
diff --git a/src/plugins/coreplugin/generalsettings.cpp b/src/plugins/coreplugin/generalsettings.cpp
index e65f26978bc774fb0b23b12892862d63ddbf355a..92f03dd2d0919af6f53ceafb84af13fb49d2efc8 100644
--- a/src/plugins/coreplugin/generalsettings.cpp
+++ b/src/plugins/coreplugin/generalsettings.cpp
@@ -116,9 +116,11 @@ QWidget *GeneralSettings::createPage(QWidget *parent)
     m_page->reloadBehavior->setCurrentIndex(EditorManager::instance()->reloadSetting());
 #ifdef Q_OS_UNIX
     const QStringList availableTerminals = ConsoleProcess::availableTerminalEmulators();
-    const QString currentTerminal = ConsoleProcess::terminalEmulator(settings);
+    const QString currentTerminal = ConsoleProcess::terminalEmulator(settings, false);
+    const QString currentTerminalExplicit = ConsoleProcess::terminalEmulator(settings, true);
     m_page->terminalComboBox->addItems(availableTerminals);
     m_page->terminalComboBox->lineEdit()->setText(currentTerminal);
+    m_page->terminalComboBox->lineEdit()->setPlaceholderText(currentTerminalExplicit);
 #else
     m_page->terminalLabel->hide();
     m_page->terminalComboBox->hide();
@@ -214,7 +216,7 @@ void GeneralSettings::resetWarnings()
 void GeneralSettings::resetTerminal()
 {
 #if defined(Q_OS_UNIX)
-    m_page->terminalComboBox->lineEdit()->setText(ConsoleProcess::defaultTerminalEmulator());
+    m_page->terminalComboBox->lineEdit()->setText(QString());
 #endif
 }