diff --git a/gtk2_ardour/engine_dialog.cc b/gtk2_ardour/engine_dialog.cc index f82f45bce7..69dc179798 100644 --- a/gtk2_ardour/engine_dialog.cc +++ b/gtk2_ardour/engine_dialog.cc @@ -1364,8 +1364,15 @@ EngineControl::set_samplerate_popdown_strings () if (!s.empty()) { if (ARDOUR::AudioEngine::instance()->running()) { sample_rate_combo.set_active_text (rate_as_string (backend->sample_rate())); - } - else if (desired.empty ()) { + } else if (ARDOUR_UI::instance()->session_loaded) { + float active_sr = ARDOUR_UI::instance()->the_session()->nominal_sample_rate (); + + if (std::find (sr.begin (), sr.end (), active_sr) == sr.end ()) { + active_sr = sr.front (); + } + + sample_rate_combo.set_active_text (rate_as_string (active_sr)); + } else if (desired.empty ()) { float new_active_sr = backend->default_sample_rate (); if (std::find (sr.begin (), sr.end (), new_active_sr) == sr.end ()) { @@ -1376,7 +1383,6 @@ EngineControl::set_samplerate_popdown_strings () } else { sample_rate_combo.set_active_text (desired); } - } update_sensitivity (); }