diff --git a/configure.ac b/configure.ac
index f5810bd5d..d3d20a540 100644
--- a/configure.ac
+++ b/configure.ac
@@ -33,7 +33,6 @@ PKG_CHECK_MODULES([DEPS], [gdk-3.0
                            glib-2.0
                            gobject-2.0
                            gtk+-3.0 >= 3.11.4
-                           libgeoclue-2.0 >= 2.3.1
                            gjs-1.0 >= $GJS_MIN_VERSION
                            gweather-3.0 >= 3.17.2])
 
diff --git a/data/org.gnome.Weather.Application.desktop.in b/data/org.gnome.Weather.Application.desktop.in
index 3cd54ba2e..9d59b4699 100644
--- a/data/org.gnome.Weather.Application.desktop.in
+++ b/data/org.gnome.Weather.Application.desktop.in
@@ -8,4 +8,3 @@ DBusActivatable=true
 StartupNotify=true
 Categories=GNOME;GTK;Utility;Core;
 _Keywords=Weather;Forecast;
-_X-Geoclue-Reason=Allows weather information to be displayed for your location.
diff --git a/src/app/currentLocationController.js b/src/app/currentLocationController.js
index c070598b3..10b436d54 100644
--- a/src/app/currentLocationController.js
+++ b/src/app/currentLocationController.js
@@ -20,104 +20,14 @@ const GLib = imports.gi.GLib;
 const Gio = imports.gi.Gio;
 const Lang = imports.lang;
 const GWeather = imports.gi.GWeather;
-const Geoclue = imports.gi.Geoclue;
 
 const Util = imports.misc.util;
 
-var AutoLocation = {
-    DISABLED: 0,
-    ENABLED: 1,
-    NOT_AVAILABLE: 2
-};
-
 var CurrentLocationController = class CurrentLocationController {
     constructor(world) {
         this._world = world;
         this._processStarted = false;
         this._settings = Util.getSettings('org.gnome.Weather.Application');
-        let autoLocation = this._settings.get_value('automatic-location').deep_unpack();
-        this._syncAutoLocation(autoLocation);
-        if (this.autoLocation == AutoLocation.ENABLED)
-            this._startGeolocationService();
         this.currentLocation = null;
     }
-
-    _startGeolocationService() {
-        this._processStarted = true;
-        Geoclue.Simple.new(pkg.name,
-                           Geoclue.AccuracyLevel.CITY,
-                           null,
-                           this._onSimpleReady.bind(this));
-    }
-
-    _geoLocationFailed(e) {
-        log ("Failed to connect to GeoClue2 service: " + e.message);
-        this.autoLocation = AutoLocation.NOT_AVAILABLE;
-        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;
-        }
-
-        let client = this._simple.get_client();
-        client.distance_threshold = 100;
-
-        this._findLocation();
-    }
-
-    _findLocation() {
-        this._locationUpdatedId =
-                    this._simple.connect("notify::location",
-                                         this._onLocationUpdated.bind(this));
-
-        this._onLocationUpdated(this._simple);
-    }
-
-    _onLocationUpdated(simple) {
-        let geoclueLocation = simple.get_location();
-
-        this.currentLocation = GWeather.Location.new_detached(geoclueLocation.description,
-                                                              null,
-                                                              geoclueLocation.latitude,
-                                                              geoclueLocation.longitude);
-        this._world.currentLocationChanged(this.currentLocation);
-    }
-
-    setAutoLocation(active) {
-        this._settings.set_value('automatic-location', new GLib.Variant('b', active));
-
-        if (this.autoLocation == AutoLocation.NOT_AVAILABLE)
-            return;
-        this._autoLocationChanged(active);
-        this._syncAutoLocation(active);
-    }
-
-    _syncAutoLocation(autoLocation) {
-        if (autoLocation)
-            this.autoLocation = AutoLocation.ENABLED;
-        else
-            this.autoLocation = AutoLocation.DISABLED;
-    }
-
-    _autoLocationChanged(active) {
-        if (active) {
-            if (!this._processStarted) {
-                this._startGeolocationService();
-            } else {
-                this._locationUpdatedId =
-                    this._simple.connect("notify::location",
-                                         this._onLocationUpdated.bind(this));
-            }
-        } else {
-            this._simple.disconnect(this._locationUpdatedId);
-        }
-    }
 }
