diff --git a/Modulator/Modulator.hpp b/Modulator/Modulator.hpp
index c25074efe..bb2d86526 100644
--- a/Modulator/Modulator.hpp
+++ b/Modulator/Modulator.hpp
@@ -66,7 +66,7 @@ private:
   double m_dphi;
   double m_amp;
   double m_nsps;
-  double volatile m_frequency;
+  double m_frequency;
   double m_frequency0;
   double m_snr;
   double m_fac;
@@ -80,9 +80,9 @@ private:
   qint16 m_ramp;
 
   unsigned m_frameRate;
-  ModulatorState volatile m_state;
+  ModulatorState m_state;
 
-  bool volatile m_tuning;
+  bool m_tuning;
   bool m_addNoise;
   bool m_bFastMode;
 
diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp
index 54c31949e..86a85449e 100644
--- a/widgets/mainwindow.cpp
+++ b/widgets/mainwindow.cpp
@@ -825,7 +825,7 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
   connect(&logQSOTimer, &QTimer::timeout, this, &MainWindow::on_logQSOButton_clicked);
 
   tuneButtonTimer.setSingleShot(true);
-  connect(&tuneButtonTimer, &QTimer::timeout, this, &MainWindow::on_stopTxButton_clicked);
+  connect(&tuneButtonTimer, &QTimer::timeout, this, &MainWindow::end_tuning);
 
   tuneATU_Timer.setSingleShot(true);
   connect(&tuneATU_Timer, &QTimer::timeout, this, &MainWindow::stopTuneATU);
@@ -6935,14 +6935,14 @@ void MainWindow::on_bandComboBox_activated (int index)
 void MainWindow::band_changed (Frequency f)
 {
   // Set the attenuation value if options are checked
-  QString curBand = ui->bandComboBox->currentText();
   if (m_config.pwrBandTxMemory() && !m_tune) {
-      if (m_pwrBandTxMemory.contains(curBand)) {
-        ui->outAttenuation->setValue(m_pwrBandTxMemory[curBand].toInt());
-      }
-      else {
-        m_pwrBandTxMemory[curBand] = ui->outAttenuation->value();
-      }
+    auto const&curBand = ui->bandComboBox->currentText();
+    if (m_pwrBandTxMemory.contains(curBand)) {
+      ui->outAttenuation->setValue(m_pwrBandTxMemory[curBand].toInt());
+    }
+    else {
+      m_pwrBandTxMemory[curBand] = ui->outAttenuation->value();
+    }
   }
 
   if (m_bandEdited) {
@@ -7012,9 +7012,9 @@ void MainWindow::on_tuneButton_clicked (bool checked)
   static bool lastChecked = false;
   if (lastChecked == checked) return;
   lastChecked = checked;
-  QString curBand = ui->bandComboBox->currentText();
   if (checked && m_tune==false) { // we're starting tuning so remember Tx and change pwr to Tune value
     if (m_config.pwrBandTuneMemory ()) {
+      auto const& curBand = ui->bandComboBox->currentText();
       m_pwrBandTxMemory[curBand] = ui->outAttenuation->value(); // remember our Tx pwr
       m_PwrBandSetOK = false;
       if (m_pwrBandTuneMemory.contains(curBand)) {
@@ -7023,15 +7023,6 @@ void MainWindow::on_tuneButton_clicked (bool checked)
       m_PwrBandSetOK = true;
     }
   }
-  else { // we're turning off so remember our Tune pwr setting and reset to Tx pwr
-    if (m_config.pwrBandTuneMemory() || m_config.pwrBandTxMemory()) {
-      stopTx();
-      m_pwrBandTuneMemory[curBand] = ui->outAttenuation->value(); // remember our Tune pwr
-      m_PwrBandSetOK = false;
-      ui->outAttenuation->setValue(m_pwrBandTxMemory[curBand].toInt()); // set to Tx pwr
-      m_PwrBandSetOK = true;
-    }
-  }
   if (m_tune) {
     tuneButtonTimer.start(250);
   } else {
@@ -7043,6 +7034,19 @@ void MainWindow::on_tuneButton_clicked (bool checked)
   Q_EMIT tune (checked);
 }
 
+void MainWindow::end_tuning ()
+{
+  on_stopTxButton_clicked ();
+  // we're turning off so remember our Tune pwr setting and reset to Tx pwr
+  if (m_config.pwrBandTuneMemory() || m_config.pwrBandTxMemory()) {
+    auto const& curBand = ui->bandComboBox->currentText();
+    m_pwrBandTuneMemory[curBand] = ui->outAttenuation->value(); // remember our Tune pwr
+    m_PwrBandSetOK = false;
+    ui->outAttenuation->setValue(m_pwrBandTxMemory[curBand].toInt()); // set to Tx pwr
+    m_PwrBandSetOK = true;
+  }
+}
+
 void MainWindow::stop_tuning ()
 {
   on_tuneButton_clicked(false);
diff --git a/widgets/mainwindow.h b/widgets/mainwindow.h
index 61bb98ce1..cdd67da70 100644
--- a/widgets/mainwindow.h
+++ b/widgets/mainwindow.h
@@ -254,6 +254,7 @@ private slots:
   void on_actionShort_list_of_add_on_prefixes_and_suffixes_triggered();
   void band_changed (Frequency);
   void monitor (bool);
+  void end_tuning ();
   void stop_tuning ();
   void stopTuneATU();
   void auto_tx_mode(bool);