         NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(MapViewController.updatedSettingsRefresh(_:)), name: "SettingsUpdate", object: nil)
         NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(MapViewController.updateRegionFromNotification(_:)), name: "LocationUpdate", object: nil)
         NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(MapViewController.enableUserLocationInMap(_:)), name: "LocationAuthorized", object: nil)
+        NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(MapViewController.welcomeModuleIsDone(_:)), name: "WelcomeModuleDone", object: nil)
     }
     
     func enableUserLocationInMap(notification: NSNotification) {
         mapView.showsUserLocation = true
+    }
+    
+    func welcomeModuleIsDone(notification: NSNotification) {
+        verifyOrRequestLocationAuthorization()
     }
     
     func updateRegionFromNotification(notification: NSNotification) {

            let controller = storyboard.instantiateViewControllerWithIdentifier("InitialController") as UIViewController
            // Display the new view controller.
            presentViewController(controller, animated: true, completion: nil)
        }
    }
    
    func isNewCenterFarFromOldCenter() -> Bool {

            locationManager.requestStartLocationUpdate()
            mapView.showsUserLocation = false
        }
        
    }
    
    func showWelcomeIfApplicable() -> Bool {
        // Show Welcome screen if this is first launch.
        let defaults = NSUserDefaults.standardUserDefaults()
        let hasUserSeenWhatsNew = defaults.boolForKey("firstrun")
