         log({ "location updated: \(newLocation.coordinate)" }, level: .Verbose)
 
         let locationAge = abs(newLocation.timestamp.timeIntervalSinceNow)
-        if locationAge > maxLocationAge || newLocation.horizontalAccuracy < 0.0 {
+        if mode == .Continuous && locationAge > maxLocationAge || newLocation.horizontalAccuracy < 0.0 {
             log({ "ignoring old location" }, level: .Info)
             return
         }

                          device's location updates.
     */
    public func startMonitoring(handler: LocationUpdateHandler?) {
        if GeoLocator.authorizationStatus == .Yes && mode == .Continuous {
            updateHandler = handler
            manager.startUpdatingLocation()
            active = true
        }
    }

    /**

    /// Handler used to log framework messages.
    public var logHandler: LogHandler?

    /// Whether or not the `GeoLocator` is currently active.
    public var isActive: Bool {
        return active
    }

    private var updateHandler: LocationUpdateHandler?
    private var active = false
    private var waitingForAuthorization = false

    /**
     Initialize a `GeoLocator` instance with the given monitoring mode.
