diff --git a/src/common/location_listener.py b/src/common/location_listener.py
index f37ac99aee529a369732e71befb7750b0cb4ef92..14955382321ac95508af1797799809ae98a68cd9 100644
--- a/src/common/location_listener.py
+++ b/src/common/location_listener.py
@@ -38,19 +38,22 @@ class LocationListener:
 
     def get_data(self):
         bus = dbus.SessionBus()
-        if 'org.freedesktop.Geoclue.Master' not in bus.list_names():
+        try:
+            # Initializes Geoclue.
+            obj = bus.get_object('org.freedesktop.Geoclue.Master',
+                    '/org/freedesktop/Geoclue/Master')
+            # get MasterClient path
+            path = obj.Create()
+            # get MasterClient
+            cli = bus.get_object('org.freedesktop.Geoclue.Master', path)
+            cli.SetRequirements(1, 0, True, 1023)
+    
+            self._get_address(cli)
+            self._get_position(cli)
+        except:
             self._on_geoclue_position_changed()
             return
-        obj = bus.get_object('org.freedesktop.Geoclue.Master',
-                '/org/freedesktop/Geoclue/Master')
-        # get MasterClient path
-        path = obj.Create()
-        # get MasterClient
-        cli = bus.get_object('org.freedesktop.Geoclue.Master', path)
-        cli.SetRequirements(1, 0, True, 1023)
-
-        self._get_address(cli)
-        self._get_position(cli)
+        
 
     def _get_address(self, cli):
         bus = dbus.SessionBus()