diff --git a/libs/ardour/automatable.cc b/libs/ardour/automatable.cc index f85bc83e85..d02139b4d1 100644 --- a/libs/ardour/automatable.cc +++ b/libs/ardour/automatable.cc @@ -148,7 +148,9 @@ Automatable::add_control(boost::shared_ptr ac) boost::shared_ptr al = boost::dynamic_pointer_cast (ac->list ()); - if (al) { + boost::shared_ptr actl (boost::dynamic_pointer_cast (ac)); + + if ((!actl || !(actl->flags() & Controllable::NotAutomatable)) && al) { al->automation_state_changed.connect_same_thread ( _list_connections, boost::bind (&Automatable::automation_list_automation_state_changed, @@ -157,7 +159,7 @@ Automatable::add_control(boost::shared_ptr ac) ControlSet::add_control (ac); - if (al) { + if ((!actl || !(actl->flags() & Controllable::NotAutomatable)) && al) { _can_automate_list.insert (param); automation_list_automation_state_changed (param, al->automation_state ()); // sync everything up }