diff --git a/src/GUI/InstallSceneryDialog.cxx b/src/GUI/InstallSceneryDialog.cxx
index f2a466249..64520c2cf 100644
--- a/src/GUI/InstallSceneryDialog.cxx
+++ b/src/GUI/InstallSceneryDialog.cxx
@@ -87,6 +87,8 @@ signals:
     void extractionError(QString file, QString msg);
 
     void progress(int percent);
+
+    void extractingArchive(QString archiveName);
 private:
     void extractNextArchive()
     {
@@ -97,6 +99,8 @@ private:
         m_remainingPaths.pop_front();
         QFileInfo finfo(path);
 
+        emit extractingArchive(path);
+
         QFile f(path);
         f.open(QIODevice::ReadOnly);
         Q_ASSERT(f.isOpen());
@@ -168,6 +172,7 @@ void InstallSceneryDialog::updateUi()
     case STATE_EXTRACTING:
         b->setEnabled(false);
         cancel->setEnabled(false);
+        ui->progressText->setText(tr("Extracting"));
         ui->stack->setCurrentIndex(1);
         break;
 
@@ -234,6 +239,8 @@ void InstallSceneryDialog::pickFiles()
                 this, &InstallSceneryDialog::onExtractError);
         connect(m_thread.data(), &InstallSceneryThread::progress,
                 this, &InstallSceneryDialog::onExtractProgress);
+        connect(m_thread.data(), &InstallSceneryThread::extractingArchive,
+                this, &InstallSceneryDialog::onExtractFile);
         updateUi();
         m_thread->start();
     } else {
@@ -260,6 +267,11 @@ void InstallSceneryDialog::onExtractProgress(int percent)
     ui->progressBar->setValue(percent);
 }
 
+void InstallSceneryDialog::onExtractFile(QString file)
+{
+    ui->progressText->setText(tr("Extracting %1").arg(file));
+}
+
 QString InstallSceneryDialog::sceneryPath()
 {
     if (m_state == STATE_FINISHED) {
diff --git a/src/GUI/InstallSceneryDialog.hxx b/src/GUI/InstallSceneryDialog.hxx
index e6ffcad2d..872624f37 100644
--- a/src/GUI/InstallSceneryDialog.hxx
+++ b/src/GUI/InstallSceneryDialog.hxx
@@ -40,8 +40,8 @@ public:
 
     QString sceneryPath();
 private slots:
-    virtual void reject();
-    virtual void accept();
+    virtual void reject() override;
+    virtual void accept() override;
 
 private:
     void updateUi();
@@ -51,6 +51,7 @@ private:
     void onThreadFinished();
     void onExtractError(QString file, QString msg);
     void onExtractProgress(int percent);
+    void onExtractFile(QString file);
 
     enum State {
         STATE_START = 0, // awaiting user input on first screen