diff --git a/data/org.gnome.Weather.desktop.in.in b/data/org.gnome.Weather.desktop.in.in
index 021e0d5..3f5c4a4 100644
--- a/data/org.gnome.Weather.desktop.in.in
+++ b/data/org.gnome.Weather.desktop.in.in
@@ -10,6 +10,5 @@ StartupNotify=true
 Categories=GNOME;GTK;Utility;Core;
 # Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
 Keywords=Weather;Forecast;
-X-Geoclue-Reason=Allows weather information to be displayed for your location.
 # Translators: Do NOT translate or transliterate this text (these are enum types)!
 X-Purism-FormFactor=Workstation;Mobile;
 
diff --git a/meson.build b/meson.build
index 62d6594..f17fabe 100644
--- a/meson.build
+++ b/meson.build
@@ -11,7 +11,6 @@ dependency('glib-2.0')
 dependency('gobject-introspection-1.0', version: '>=1.35.9')
 dependency('gtk4', version :'>=4.5')
 gjs = dependency('gjs-1.0', version: '>= 1.71.0')
-dependency('libgeoclue-2.0', version: '>= 0.12.99')
 dependency('libadwaita-1', version: '>=  1.4.alpha')
 dependency('gweather4', version: '>= 3.90.0')
 
diff --git a/src/app/currentLocationController.js b/src/app/currentLocationController.js
index 772b9b5..2332157 100644
--- a/src/app/currentLocationController.js
+++ b/src/app/currentLocationController.js
@@ -18,7 +18,6 @@
 
 import GLib from 'gi://GLib';
 import GWeather from 'gi://GWeather';
-import Geoclue from 'gi://Geoclue';
 
 import * as Util from '../misc/util.js';
 export class CurrentLocationController {
@@ -27,92 +26,12 @@ export class CurrentLocationController {
         this._processStarted = false;
         this._settings = Util.getSettings('org.gnome.Weather');
       
-        this.autoLocationAvailable = false;
-        this._startGeolocationService();
         this.currentLocation = null;
-    }
 
-    _startGeolocationService() {
-        this._processStarted = true;
-        if (Geoclue.Simple.new_with_thresholds) {
-            Geoclue.Simple.new_with_thresholds(pkg.name,
-                                               Geoclue.AccuracyLevel.CITY,
-                                               0, /* time threshold */
-                                               100, /* distance threshold */
-                                               null,
-                                               (object, result) => {
-                                                   this._onSimpleReady(object, result)
-                                               });
-        } else {
-            Geoclue.Simple.new(pkg.name,
-                               Geoclue.AccuracyLevel.CITY,
-                               null,
-                               (object, result) => {
-                                   this._onSimpleReady(object, result)
-                               });
-        }
-    }
-
-    _geoLocationFailed(e) {
-        log ("Failed to connect to GeoClue2 service: " + e.message);
+        log ("GeoClue2 service disabled");
         this.autoLocationAvailable = false;
         GLib.idle_add(GLib.PRIORITY_DEFAULT, () => {
             this._world.currentLocationChanged(null);
         });
     }
-
-    _onSimpleReady(object, result) {
-        try {
-            this._simple = Geoclue.Simple.new_finish(result);
-        }
-        catch (e) {
-            this._geoLocationFailed(e);
-            return;
-        }
-
-        // geoclue doesn't use a client proxy inside a flatpak sandbox
-        if (this._simple.client && !Geoclue.Simple.new_with_thresholds) {
-            let client = this._simple.get_client();
-            client.distance_threshold = 100;
-        }
-
-        this._findLocation();
-
-        this.autoLocationAvailable = true;
-    }
-
-    _findLocation() {
-        this._locationUpdatedId =
-                    this._simple.connect("notify::location", (simple) => {
-                        this._onLocationUpdated(simple);
-                    });
-
-        this._onLocationUpdated(this._simple);
-    }
-
-    _onLocationUpdated(simple) {
-        let geoclueLocation = simple.get_location();
-
-        this.currentLocation = GWeather.Location.get_world()
-                                                .find_nearest_city(
-                                                    geoclueLocation.latitude,
-                                                    geoclueLocation.longitude
-                                                );
-        this._world.currentLocationChanged(this.currentLocation);
-    }
-
-    _autoLocationChanged(active) {
-        if (active) {
-            if (!this._processStarted) {
-                this._startGeolocationService();
-            } else {
-                this._locationUpdatedId =
-                    this._simple.connect("notify::location", (simple) => {
-                                             this._onLocationUpdated(simple);
-                                         });
-            }
-        } else {
-            this._simple.disconnect(this._locationUpdatedId);
-        }
-    }
 }
