             manager!.startActivityUpdatesToQueue(NSOperationQueue()) { data in
                 if let data = data {
                     dispatch_async(dispatch_get_main_queue(), {
-                        NSLog("----------------------------------------------------We received an activity update %@", data);
                         if(data.stationary == true) {
                             self.isStationary = true;
                         } else {
+                            if(self.isStationary == true) {
+                                locationManager.restartUpdates();
+                            }
+                            
                             self.isStationary = false
+                            
                         }
                         
                         self.sendActivitiesToCallback(self.activitiesToArray(data));

            self.updating = true;

            self.manager.delegate = self;
            self.manager.desiredAccuracy = desiredAccuracy;
            self.manager.distanceFilter = distanceFilter;

            self.manager.startUpdatingLocation();
            self.manager.startMonitoringSignificantLocationChanges();


        taskManager.beginNewBackgroundTask();

        locationTimer = NSTimer.scheduledTimerWithTimeInterval(activityManager.isStationary ? 50 : interval, target: self, selector: #selector(LocationManager.restartUpdates), userInfo: nil, repeats: false);

        if(stopUpdateTimer != nil) {
            stopUpdateTimer.invalidate();
