diff --git a/VERSION b/VERSION
index f38fc53..0a1ffad 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-0.7.3
+0.7.4
diff --git a/edge-monitoring-server/edge_monitoring_server.py b/edge-monitoring-server/edge_monitoring_server.py
index 2096ff6..fa50bcc 100755
--- a/edge-monitoring-server/edge_monitoring_server.py
+++ b/edge-monitoring-server/edge_monitoring_server.py
@@ -494,15 +494,34 @@
         connect_status = edge['status']['control_plane']
         ping_status = edge['status']['user_plane']
 
+        # Add PLMN Status
         try:
-            dongle_stats_imsi.labels(edge['name']).set(float(edge['dongle_stats']['IMSI']))
-            dongle_stats_cellglobalid.labels(edge['name']).set(int(edge['dongle_stats']['CellGlobalID'], 16))
-            dongle_stats_phycellid.labels(edge['name']).set(edge['dongle_stats']['PhyCellID'])
-            if edge['dongle_stats']['PLMNStatus'] in plmnstatus_mapping:
+            if edge['dongle_stats']['PLMNStatus'] and edge['dongle_stats']['PLMNStatus'] in plmnstatus_mapping:
                 dongle_stats_plmnstatus.labels(edge['name']).set(plmnstatus_mapping[edge['dongle_stats']['PLMNStatus']])
             else:
-                dongle_stats_plmnstatus.labels(edge['name']).set(0)
-        except KeyError:
+                pass
+        except:
+            pass
+
+        # Add IMSI
+        try:
+            if edge['dongle_stats']['IMSI']:
+                dongle_stats_imsi.labels(edge['name']).set(float(edge['dongle_stats']['IMSI']))
+        except:
+            pass
+
+        # Add CellGlobalID
+        try:
+            if edge['dongle_stats']['CellGlobalID']:
+                dongle_stats_cellglobalid.labels(edge['name']).set(int(edge['dongle_stats']['CellGlobalID'], 16))
+        except:
+            pass
+
+        # Add PhyCellID
+        try:
+            if edge['dongle_stats']['PhyCellID']:
+                dongle_stats_phycellid.labels(edge['name']).set(edge['dongle_stats']['PhyCellID'])
+        except:
             pass
 
         # Add ping dry_run latency results if available
diff --git a/edge-monitoring-server/test_edge_monitoring_server.py b/edge-monitoring-server/test_edge_monitoring_server.py
index 1786d6e..f2bf2a6 100755
--- a/edge-monitoring-server/test_edge_monitoring_server.py
+++ b/edge-monitoring-server/test_edge_monitoring_server.py
@@ -771,7 +771,7 @@
         response = self.app.get('/edges/metrics')
         data = response.get_data(as_text=True)
 
-        self.assertTrue('aetheredge_dongle_stats_imsi{name="ace-menlo-rasp-pi"} 0.0' in data)
+        self.assertFalse('aetheredge_dongle_stats_imsi{name="ace-menlo-rasp-pi"}' in data)
         self.assertFalse('aetheredge_dongle_stats_cellglobalid{name="ace-menlo-rasp-pi"}' in data)
         self.assertFalse('aetheredge_dongle_stats_plmnstatus{name="ace-menlo-rasp-pi"}' in data)
         self.assertFalse('aetheredge_dongle_stats_phycellid{name="ace-menlo-rasp-pi"}' in data)
