             return
         }
         
-        currentlyLoggedInUserFetcher.fetch(siteURL: loginURL, success: { result in
+        currentlyLoggedInUserFetcher.fetch(siteURL: siteURL, success: { result in
             self.loggedInUsername = result.name
             userAlreadyLoggedInHandler(result)
         }, failure:{ error in

     *  @param loginSuccess  The handler for success - at this point the user is logged in
     *  @param failure     The handler for any errors
     */
    public func login(loginURL: URL? = LoginURLs.wikipedia, username: String, password: String, retypePassword: String?, oathToken: String?, captchaID: String?, captchaWord: String?, success loginSuccess:@escaping WMFAccountLoginResultBlock, failure:@escaping WMFErrorHandler){
        guard let siteURL = loginURL else {
            failure(LoginURLError.couldNotConstructLoginURL)
            return

     *  @return The shared Authentication Manager
     */
    @objc public static let sharedInstance = WMFAuthenticationManager()
    
    public func attemptLogin(_ loginURL: URL? = LoginURL.wikipedia, completion: @escaping () -> Void = {}, failure: @escaping (_ error: Error) -> Void = {_ in }) {
        let performCompletionOnTheMainThread = {
            DispatchQueue.main.async {
                completion()
