diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 0605378959..fef9fb507b 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -755,7 +755,7 @@ Route::solo_control_changed (bool, Controllable::GroupControlDisposition) */ if (Config->get_solo_control_is_listen_control ()) { - set_listen (_solo_control->self_soloed()); + set_listen (_solo_control->self_soloed() || _solo_control->get_masters_value()); } } diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 6c0e341a30..c207934534 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -3706,7 +3706,7 @@ Session::route_listen_changed (Controllable::GroupControlDisposition group_overr if (Config->get_exclusive_solo()) { RouteGroup* rg = route->route_group (); - const bool group_already_accounted_for = route->use_group (group_override, &RouteGroup::is_solo); + const bool group_already_accounted_for = (group_override == Controllable::ForGroup); boost::shared_ptr r = routes.reader ();