diff --git a/libs/ardour/transport_master.cc b/libs/ardour/transport_master.cc index 1bd1649500..4dec88272a 100644 --- a/libs/ardour/transport_master.cc +++ b/libs/ardour/transport_master.cc @@ -170,7 +170,16 @@ TransportMaster::check_collect() void TransportMaster::set_collect (bool yn) { - _pending_collect = yn; + /* theoretical race condition */ + + if (_connected) { + _pending_collect = yn; + } else { + if (_collect != yn) { + _pending_collect = _collect = yn; + PropertyChanged (Properties::collect); + } + } } void