             switch result {
                 case .success(let radarID):
                     guard let (_, token) = Keychain.get(.openRadar) else {
-                        return completion(true)
+                        self?.submitRadarCompletion(success: true)
+                        return
                     }
 
                     radar.ID = radarID

                let alert = NSAlert(error: error)
                alert.beginSheetModal(for: window, completionHandler: nil)
            }
        }
    }



    @IBAction private func submitRadar(_ sender: Any) {
        for field in self.validatables where !field.isValid {
            assertionFailure("Shouldn't be able to submit with invalid fields")
            return self.showError(message: "Validation failed")
        }

        guard let (username, password) = Keychain.get(.radar) else {
            assertionFailure("Shouldn't be able to submit a radar without credentials")
            return self.showError(message: "Submitting radar without username/password")
        }

        var radar = self.currentRadar()
        self.submitButton.isEnabled = false
        self.progressIndicator.startAnimation(self)

        let appleRadar = Sonar(service: .appleRadar(appleID: username, password: password))
        appleRadar.loginThenCreate(
