diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 512a3499b1..feb6dd246e 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -7525,7 +7525,10 @@ boost::shared_ptr Session::nth_mixer_scene (size_t nth, bool create_if_missing) { Glib::Threads::RWLock::ReaderLock lm (_mixer_scenes_lock); - if (create_if_missing && (!_mixer_scenes[nth] || _mixer_scenes.size() <= nth) ) { + if (create_if_missing) { + if (_mixer_scenes.size() > nth && _mixer_scenes[nth]) { + return _mixer_scenes[nth]; + } lm.release (); Glib::Threads::RWLock::WriterLock lw (_mixer_scenes_lock); if (_mixer_scenes.size() <= nth) {