diff --git a/plugins/channel/demoddsd/dsddemod.cpp b/plugins/channel/demoddsd/dsddemod.cpp
index a546a1802..cda32efb5 100644
--- a/plugins/channel/demoddsd/dsddemod.cpp
+++ b/plugins/channel/demoddsd/dsddemod.cpp
@@ -119,18 +119,25 @@ void DSDDemod::feed(const SampleVector::const_iterator& begin, const SampleVecto
if (getMagSq() > m_squelchLevel)
{
- if (m_squelchCount < m_squelchGate)
+ if (m_squelchGate > 0)
{
- m_squelchCount++;
+ if (m_squelchCount < m_squelchGate) {
+ m_squelchCount++;
+ }
+
+ m_squelchOpen = m_squelchCount == m_squelchGate;
+ }
+ else
+ {
+ m_squelchOpen = true;
}
}
else
{
m_squelchCount = 0;
+ m_squelchOpen = false;
}
- m_squelchOpen = m_squelchCount == m_squelchGate;
-
if (m_squelchOpen)
{
sample = demod;
diff --git a/plugins/channel/demoddsd/dsddemodgui.ui b/plugins/channel/demoddsd/dsddemodgui.ui
index cef8fadf2..59ea28e8d 100644
--- a/plugins/channel/demoddsd/dsddemodgui.ui
+++ b/plugins/channel/demoddsd/dsddemodgui.ui
@@ -522,7 +522,7 @@
Squelch gate (ms)
- 1
+ 0
50