diff --git a/plugins/channelrx/demodfreedv/freedvdemod.cpp b/plugins/channelrx/demodfreedv/freedvdemod.cpp
index 9a47dfa9b..dee62ae3b 100644
--- a/plugins/channelrx/demodfreedv/freedvdemod.cpp
+++ b/plugins/channelrx/demodfreedv/freedvdemod.cpp
@@ -611,6 +611,10 @@ void FreeDVDemod::applyFreeDVMode(FreeDVDemodSettings::FreeDVMode mode)
freedv_set_ext_vco(m_freeDV, 0);
freedv_set_sync(m_freeDV, manualsync);
+ freedv_set_callback_txt(m_freeDV, nullptr, nullptr, nullptr);
+ freedv_set_callback_protocol(m_freeDV, nullptr, nullptr, nullptr);
+ freedv_set_callback_data(m_freeDV, nullptr, nullptr, nullptr);
+
int nSpeechSamples = freedv_get_n_speech_samples(m_freeDV);
int nMaxModemSamples = freedv_get_n_max_modem_samples(m_freeDV);
int Fs = freedv_get_modem_sample_rate(m_freeDV);
diff --git a/plugins/channelrx/demodfreedv/freedvdemodgui.ui b/plugins/channelrx/demodfreedv/freedvdemodgui.ui
index cfa9699ca..aaf1f1a2f 100644
--- a/plugins/channelrx/demodfreedv/freedvdemodgui.ui
+++ b/plugins/channelrx/demodfreedv/freedvdemodgui.ui
@@ -259,6 +259,9 @@
8
+
+ Channel power
+
@@ -320,7 +323,7 @@
- Modem input volume
+ Modem input volume level
2.0
@@ -350,6 +353,9 @@
8
+
+ Modem input volume
+
-
@@ -373,6 +379,9 @@
24
+
+ Audio output volume control
+
99
@@ -389,6 +398,9 @@
16777215
+
+ Audio output volume level
+
2.0
@@ -600,7 +612,7 @@
-
- Demod frequency span
+ Spectrum display frequency span
0
@@ -636,6 +648,9 @@
16777215
+
+ Spectrum display frequency span (kHz)
+
6.0k
diff --git a/plugins/channeltx/modfreedv/freedvmod.cpp b/plugins/channeltx/modfreedv/freedvmod.cpp
index ef209b971..dacafa678 100644
--- a/plugins/channeltx/modfreedv/freedvmod.cpp
+++ b/plugins/channeltx/modfreedv/freedvmod.cpp
@@ -691,6 +691,10 @@ void FreeDVMod::applyFreeDVMode(FreeDVModSettings::FreeDVMode mode)
freedv_set_tx_bpf(m_freeDV, 1);
freedv_set_ext_vco(m_freeDV, 0);
+ freedv_set_callback_txt(m_freeDV, nullptr, nullptr, nullptr);
+ freedv_set_callback_protocol(m_freeDV, nullptr, nullptr, nullptr);
+ freedv_set_callback_data(m_freeDV, nullptr, nullptr, nullptr);
+
int nSpeechSamples = freedv_get_n_speech_samples(m_freeDV);
int nNomModemSamples = freedv_get_n_nom_modem_samples(m_freeDV);
int Fs = freedv_get_modem_sample_rate(m_freeDV);