diff --git a/plugins/channelrx/remotesink/remotesink.cpp b/plugins/channelrx/remotesink/remotesink.cpp
index fe93af7d5..b20a0c284 100644
--- a/plugins/channelrx/remotesink/remotesink.cpp
+++ b/plugins/channelrx/remotesink/remotesink.cpp
@@ -129,7 +129,7 @@ void RemoteSink::feed(const SampleVector::const_iterator& begin, const SampleVec
             RemoteMetaDataFEC metaData;
             gettimeofday(&tv, 0);
 
-            metaData.m_centerFrequency = m_centerFrequency + (m_frequencyOffset/1000); // FIXME: precision issue
+            metaData.m_centerFrequency = m_centerFrequency + m_frequencyOffset;
             metaData.m_sampleRate = m_sampleRate;
             metaData.m_sampleBytes = (SDR_RX_SAMP_SZ <= 16 ? 2 : 4);
             metaData.m_sampleBits = SDR_RX_SAMP_SZ;
diff --git a/plugins/channelrx/remotesink/remotesink.h b/plugins/channelrx/remotesink/remotesink.h
index 899fc0f9d..58607240b 100644
--- a/plugins/channelrx/remotesink/remotesink.h
+++ b/plugins/channelrx/remotesink/remotesink.h
@@ -136,7 +136,7 @@ public:
             QString& errorMessage);
 
     /** Set center frequency given in Hz */
-    void setCenterFrequency(uint64_t centerFrequency) { m_centerFrequency = centerFrequency / 1000; }
+    void setCenterFrequency(uint64_t centerFrequency) { m_centerFrequency = centerFrequency; }
 
     /** Set sample rate given in Hz */
     void setSampleRate(uint32_t sampleRate) { m_sampleRate = sampleRate; }
diff --git a/plugins/samplesource/remoteinput/remoteinputgui.cpp b/plugins/samplesource/remoteinput/remoteinputgui.cpp
index 1804b6926..3f0132fb5 100644
--- a/plugins/samplesource/remoteinput/remoteinputgui.cpp
+++ b/plugins/samplesource/remoteinput/remoteinputgui.cpp
@@ -287,7 +287,7 @@ void RemoteInputGui::updateSampleRateAndFrequency()
     ui->deviceRateText->setText(tr("%1k").arg((float)m_streamSampleRate / 1000));
     blockApplySettings(true);
     ui->centerFrequency->setValue(m_streamCenterFrequency / 1000);
-    ui->centerFrequencyHz->setValue(0); // TODO
+    ui->centerFrequencyHz->setValue(m_streamCenterFrequency % 1000);
     blockApplySettings(false);
 }
 
@@ -296,7 +296,7 @@ void RemoteInputGui::displaySettings()
     blockApplySettings(true);
 
     ui->centerFrequency->setValue(m_streamCenterFrequency / 1000);
-    ui->centerFrequencyHz->setValue(0); // TODO
+    ui->centerFrequencyHz->setValue(m_streamCenterFrequency % 1000);
     ui->deviceRateText->setText(tr("%1k").arg(m_streamSampleRate / 1000.0));
 
     ui->apiAddress->setText(m_settings.m_apiAddress);
diff --git a/plugins/samplesource/remoteinput/remoteinputudphandler.cpp b/plugins/samplesource/remoteinput/remoteinputudphandler.cpp
index 1eb5d6dda..3cf477f27 100644
--- a/plugins/samplesource/remoteinput/remoteinputudphandler.cpp
+++ b/plugins/samplesource/remoteinput/remoteinputudphandler.cpp
@@ -195,16 +195,16 @@ void RemoteInputUDPHandler::processData()
 
     if (change && (m_samplerate != 0))
     {
-        qDebug("RemoteInputUDPHandler::processData: m_samplerate: %u m_centerFrequency: %u kHz", m_samplerate, m_centerFrequency);
+        qDebug("RemoteInputUDPHandler::processData: m_samplerate: %u S/s m_centerFrequency: %lu Hz", m_samplerate, m_centerFrequency);
 
-        DSPSignalNotification *notif = new DSPSignalNotification(m_samplerate, m_centerFrequency * 1000); // Frequency in Hz for the DSP engine
+        DSPSignalNotification *notif = new DSPSignalNotification(m_samplerate, m_centerFrequency); // Frequency in Hz for the DSP engine
         m_deviceAPI->getDeviceEngineInputMessageQueue()->push(notif);
 
         if (m_outputMessageQueueToGUI)
         {
             RemoteInput::MsgReportRemoteInputStreamData *report = RemoteInput::MsgReportRemoteInputStreamData::create(
                 m_samplerate,
-                m_centerFrequency * 1000, // Frequency in Hz for the GUI
+                m_centerFrequency, // Frequency in Hz for the GUI
                 m_tv_msec);
 
             m_outputMessageQueueToGUI->push(report);
diff --git a/plugins/samplesource/remoteinput/remoteinputudphandler.h b/plugins/samplesource/remoteinput/remoteinputudphandler.h
index 5cf05597b..2d8ac155d 100644
--- a/plugins/samplesource/remoteinput/remoteinputudphandler.h
+++ b/plugins/samplesource/remoteinput/remoteinputudphandler.h
@@ -47,7 +47,7 @@ public:
     int getNbOriginalBlocks() const { return RemoteNbOrginalBlocks; }
     bool isStreaming() const { return m_masterTimerConnected; }
     int getSampleRate() const { return m_samplerate; }
-    int getCenterFrequency() const { return m_centerFrequency * 1000; }
+    int getCenterFrequency() const { return m_centerFrequency; }
     int getBufferGauge() const { return m_remoteInputBuffer.getBufferGauge(); }
     uint64_t getTVmSec() const { return m_tv_msec; }
     int getMinNbBlocks() { return m_remoteInputBuffer.getMinNbBlocks(); }
@@ -71,7 +71,7 @@ private:
 	qint64 m_udpReadBytes;
 	SampleSinkFifo *m_sampleFifo;
 	uint32_t m_samplerate;
-	uint32_t m_centerFrequency;
+	uint64_t m_centerFrequency;
 	uint64_t m_tv_msec;
 	MessageQueue *m_outputMessageQueueToGUI;
 	uint32_t m_tickCount;