diff --git a/radio/src/gui/colorlcd/radio_spectrum_analyser.cpp b/radio/src/gui/colorlcd/radio_spectrum_analyser.cpp index 544e68672..d7d891003 100644 --- a/radio/src/gui/colorlcd/radio_spectrum_analyser.cpp +++ b/radio/src/gui/colorlcd/radio_spectrum_analyser.cpp @@ -226,6 +226,8 @@ void RadioSpectrumAnalyser::init() if (moduleIdx == INTERNAL_MODULE && g_model.moduleData[INTERNAL_MODULE].type == MODULE_TYPE_NONE) { reusableBuffer.spectrumAnalyser.moduleOFF = true; + // this needs to be set BEFORE the module is set to prevent proto list scanning + moduleState[moduleIdx].mode = MODULE_MODE_SPECTRUM_ANALYSER; setModuleType(INTERNAL_MODULE, MODULE_TYPE_MULTIMODULE); } else { reusableBuffer.spectrumAnalyser.moduleOFF = false; diff --git a/radio/src/io/multi_protolist.cpp b/radio/src/io/multi_protolist.cpp index 830f86eb3..029e5cd82 100644 --- a/radio/src/io/multi_protolist.cpp +++ b/radio/src/io/multi_protolist.cpp @@ -205,7 +205,9 @@ void MultiRfProtocols::fillList(std::function addProto) co bool MultiRfProtocols::triggerScan() { - if (scanState == ScanStop) { + if (scanState == ScanStop + && moduleState[moduleIdx].mode == MODULE_MODE_NORMAL) { + proto2idx.clear(); protoList.clear(); scanState = ScanBegin;