diff --git a/plugins/channelrx/demoddatv/datvdemodgui.cpp b/plugins/channelrx/demoddatv/datvdemodgui.cpp
index f7be4048a..f50dc9e97 100644
--- a/plugins/channelrx/demoddatv/datvdemodgui.cpp
+++ b/plugins/channelrx/demoddatv/datvdemodgui.cpp
@@ -344,7 +344,7 @@ void DATVDemodGUI::displaySettings()
     ui->cmbFilter->setCurrentIndex((int) m_settings.m_filter);
     displayRRCParameters(((int) m_settings.m_filter == 2));
 
-    ui->spiRollOff->setValue((int) (m_settings.m_rollOff * 100.0f));
+    ui->spiRollOff->setValue((int) roundf(m_settings.m_rollOff * 100.0f));
     ui->audioMute->setChecked(m_settings.m_audioMute);
     displaySystemConfiguration();
     ui->cmbStandard->setCurrentIndex((int) m_settings.m_standard);
diff --git a/plugins/channelrx/demoddatv/datvdemodsink.cpp b/plugins/channelrx/demoddatv/datvdemodsink.cpp
index 1d4fb306d..1baaf4ad8 100644
--- a/plugins/channelrx/demoddatv/datvdemodsink.cpp
+++ b/plugins/channelrx/demoddatv/datvdemodsink.cpp
@@ -569,6 +569,8 @@ void DATVDemodSink::InitDATVFramework()
     m_objCfg.rrc_rej = (float) m_settings.m_excursion;  //dB
     m_objCfg.rrc_steps = 0; //auto
 
+    m_objVideoStream->resetTotalReceived();
+
     switch(m_settings.m_modulation)
     {
         case DATVDemodSettings::BPSK:
@@ -906,6 +908,8 @@ void DATVDemodSink::InitDATVS2Framework()
     m_objCfg.rrc_rej = (float) m_settings.m_excursion;  //dB
     m_objCfg.rrc_steps = 0; //auto
 
+    m_objVideoStream->resetTotalReceived();
+
     switch(m_settings.m_modulation)
     {
         case DATVDemodSettings::BPSK:
diff --git a/plugins/channelrx/demoddatv/datvideostream.cpp b/plugins/channelrx/demoddatv/datvideostream.cpp
index 4f35ef1c8..227b3d350 100644
--- a/plugins/channelrx/demoddatv/datvideostream.cpp
+++ b/plugins/channelrx/demoddatv/datvideostream.cpp
@@ -65,6 +65,12 @@ bool DATVideostream::setMemoryLimit(int intMemoryLimit)
     return true;
 }
 
+void DATVideostream::resetTotalReceived()
+{
+    m_intTotalReceived = 0;
+    emit onDataPackets(&m_intQueueWaiting, &m_intBytesWaiting, &m_intPercentBuffer, &m_intTotalReceived);
+}
+
 int DATVideostream::pushData(const char * chrData, int intSize)
 {
     if (intSize <= 0) {
diff --git a/plugins/channelrx/demoddatv/datvideostream.h b/plugins/channelrx/demoddatv/datvideostream.h
index 3690acca0..93962e8ef 100644
--- a/plugins/channelrx/demoddatv/datvideostream.h
+++ b/plugins/channelrx/demoddatv/datvideostream.h
@@ -42,6 +42,7 @@ public:
 
     int pushData(const char * chrData, int intSize);
     bool setMemoryLimit(int intMemoryLimit);
+    void resetTotalReceived();
 
     virtual bool isSequential() const;
     virtual qint64 bytesAvailable() const;