         
     }
     
+    func locationManager(manager: CLLocationManager!, didChangeAuthorizationStatus status: CLAuthorizationStatus) {
+        if (!self.locationAuthorized && status == .AuthorizedWhenInUse) {
+            // Location service was not enabled before - now start the location service again
+            self.start()
+        }
+    }
+    
     //#pragma mark - Notifications
     func didEnterBackground(notification:AnyObject) {
         self.stop()

        self.locationManager.requestWhenInUseAuthorization()
        
        if self.isLocatingAllowed() {
            self.locationManager.delegate = self
            self.locationManager.desiredAccuracy = 300  // Meter
            self.locationManager.startUpdatingLocation()

    //#pragma mark - Properties
    var locationManager:CLLocationManager = CLLocationManager()
    var location:CLLocation?
    var locationAuthorized = false
    
    class var sharedInstance: GeoManager {
    struct SharedInstance {
