diff --git a/libs/ardour/control_protocol_manager.cc b/libs/ardour/control_protocol_manager.cc index c79aa74698..00c05b2800 100644 --- a/libs/ardour/control_protocol_manager.cc +++ b/libs/ardour/control_protocol_manager.cc @@ -96,8 +96,10 @@ ControlProtocolManager::drop_session () for (list::iterator p = control_protocol_info.begin(); p != control_protocol_info.end(); ++p) { // otherwise the ControlProtocol instances are not recreated in set_session - (*p)->requested = true; - (*p)->protocol = 0; + if ((*p)->protocol) { + (*p)->requested = true; + (*p)->protocol = 0; + } } } }