diff --git a/electrum/gui/qml/components/NetworkStats.qml b/electrum/gui/qml/components/NetworkStats.qml
index 50ad7fe07..a486bcaab 100644
--- a/electrum/gui/qml/components/NetworkStats.qml
+++ b/electrum/gui/qml/components/NetworkStats.qml
@@ -9,7 +9,7 @@ Pane {
     property string title: qsTr('Network')
 
     GridLayout {
-        columns: 3
+        columns: 2
 
         Label {
             text: qsTr("Network: ");
@@ -18,7 +18,6 @@ Pane {
         }
         Label {
             text: Network.networkName
-            Layout.columnSpan: 2
         }
 
         Label {
@@ -28,7 +27,6 @@ Pane {
         }
         Label {
             text: Network.server
-            Layout.columnSpan: 2
         }
 
         Label {
@@ -39,7 +37,6 @@ Pane {
         }
         Label {
             text: Network.height
-            Layout.columnSpan: 2
         }
 
         Label {
@@ -48,10 +45,12 @@ Pane {
             font.bold: true
         }
 
-        NetworkStatusIndicator {}
+        RowLayout {
+            NetworkStatusIndicator {}
 
-        Label {
-            text: Network.status
+            Label {
+                text: Network.status
+            }
         }
 
         Label {
@@ -61,7 +60,28 @@ Pane {
         }
         Label {
             id: feeHistogram
-            Layout.columnSpan: 2
+        }
+
+        Label {
+            text: qsTr("Gossip: ");
+            color: Material.primaryHighlightedTextColor;
+            font.bold: true
+        }
+        ColumnLayout {
+            visible: Config.useGossip
+            Label {
+                text: qsTr('%1 peers').arg(Network.gossipInfo.peers)
+            }
+            Label {
+                text: qsTr('%1 channels to fetch').arg(Network.gossipInfo.unknown_channels)
+            }
+            Label {
+                text: qsTr('%1 nodes, %2 channels').arg(Network.gossipInfo.db_nodes).arg(Network.gossipInfo.db_channels)
+            }
+        }
+        Label {
+            text: qsTr("disabled");
+            visible: !Config.useGossip
         }
     }
 
diff --git a/electrum/gui/qml/qeapp.py b/electrum/gui/qml/qeapp.py
index fff96d058..99918de07 100644
--- a/electrum/gui/qml/qeapp.py
+++ b/electrum/gui/qml/qeapp.py
@@ -178,7 +178,7 @@ class ElectrumQmlApplication(QGuiApplication):
 
         self.context = self.engine.rootContext()
         self._qeconfig = QEConfig(config)
-        self._qenetwork = QENetwork(daemon.network)
+        self._qenetwork = QENetwork(daemon.network, self._qeconfig)
         self._qedaemon = QEDaemon(daemon)
         self._appController = QEAppController(self._qedaemon)
         self._maxAmount = QEAmount(is_max=True)
diff --git a/electrum/gui/qml/qenetwork.py b/electrum/gui/qml/qenetwork.py
index 87a9ba214..792bf35f0 100644
--- a/electrum/gui/qml/qenetwork.py
+++ b/electrum/gui/qml/qenetwork.py
@@ -7,12 +7,16 @@ from electrum.interface import ServerAddr
 from .util import QtEventListener, event_listener
 
 class QENetwork(QObject, QtEventListener):
-    def __init__(self, network, parent=None):
+    def __init__(self, network, qeconfig, parent=None):
         super().__init__(parent)
         self.network = network
+        self._qeconfig = qeconfig
         self._height = network.get_local_height() # init here, update event can take a while
         self.register_callbacks()
 
+        self._qeconfig.useGossipChanged.connect(self.on_gossip_setting_changed)
+
+
     _logger = get_logger(__name__)
 
     networkUpdated = pyqtSignal()
@@ -25,6 +29,7 @@ class QENetwork(QObject, QtEventListener):
     feeHistogramUpdated = pyqtSignal()
     chaintipsChanged = pyqtSignal()
     isLaggingChanged = pyqtSignal()
+    gossipUpdated = pyqtSignal()
 
     # shared signal for static properties
     dataChanged = pyqtSignal()
@@ -34,6 +39,11 @@ class QENetwork(QObject, QtEventListener):
     _chaintips = 1
     _islagging = False
     _fee_histogram = []
+    _gossipPeers = 0
+    _gossipUnknownChannels = 0
+    _gossipDbNodes = 0
+    _gossipDbChannels = 0
+    _gossipDbPolicies = 0
 
     @event_listener
     def on_event_network_updated(self, *args):
@@ -79,6 +89,37 @@ class QENetwork(QObject, QtEventListener):
         self._fee_histogram = histogram if histogram else []
         self.feeHistogramUpdated.emit()
 
+    @event_listener
+    def on_event_channel_db(self, num_nodes, num_channels, num_policies):
+        self._logger.debug(f'channel_db: {num_nodes} nodes, {num_channels} channels, {num_policies} policies')
+        self._gossipDbNodes = num_nodes
+        self._gossipDbChannels = num_channels
+        self._gossipDbPolicies = num_policies
+        self.gossipUpdated.emit()
+
+    @event_listener
+    def on_event_gossip_peers(self, num_peers):
+        self._logger.debug(f'gossip peers {num_peers}')
+        self._gossipPeers = num_peers
+        self.gossipUpdated.emit()
+
+    @event_listener
+    def on_event_unknown_channels(self, unknown):
+        if unknown == 0 and self._gossipUnknownChannels == 0: # TODO: backend sends a lot of unknown=0 events
+            return
+        self._logger.debug(f'unknown channels {unknown}')
+        self._gossipUnknownChannels = unknown
+        self.gossipUpdated.emit()
+        #self.lightning_gossip_num_queries = unknown
+
+    def on_gossip_setting_changed(self):
+        if not self.network:
+            return
+        if self._qeconfig.useGossip:
+            self.network.start_gossip()
+        else:
+            self.network.run_from_another_thread(self.network.stop_gossip())
+
     @pyqtProperty(int, notify=heightChanged)
     def height(self):
         return self._height
@@ -136,3 +177,12 @@ class QENetwork(QObject, QtEventListener):
     def feeHistogram(self):
         return self._fee_histogram
 
+    @pyqtProperty('QVariantMap', notify=gossipUpdated)
+    def gossipInfo(self):
+        return {
+            'peers': self._gossipPeers,
+            'unknown_channels': self._gossipUnknownChannels,
+            'db_nodes': self._gossipDbNodes,
+            'db_channels': self._gossipDbChannels ,
+            'db_policies': self._gossipDbPolicies
+        }