     working = @state.user instanceof Promise
     signedIn = @state.user? and (not @state.errors?) and (not working)
     disabled = working or signedIn
-    {badLoginChars, loginTaken, passwordTooShort, passwordsDontMatch} = @state
+    {badLoginChars, usernameConflicts, passwordTooShort, passwordsDontMatch} = @state
     email = @refs.email?.getDOMNode().value
-
     <InPlaceForm onSubmit={@handleSubmit}>
       <div>
         <label>

          <input type="text" name="login" disabled={disabled} ref="login" onChange={@handleLoginChange} autoFocus="autoFocus" />
          {if badLoginChars?.length > 0
            <span className="form-help error">Don’t use weird characters ({badLoginChars.join ', '}).</span>
          else if loginTaken?
            if loginTaken instanceof Promise
              <LoadingIndicator className="form-help" />
            else if loginTaken instanceof Error
              <span className="form-help error"><i className="fa fa-exclamation-triangle"></i> Can’t determine this login’s availability.</span>
            else if loginTaken.length isnt 0
              <span className="form-help error">Sorry, that login is taken. <a href="#/reset-password?email=#{email || '?'}">Forget your password?</a></span>
            else if loginTaken.length is 0
              <span className="form-help success">Looks good.</span>}
        </label>
      </div>

      passwordsDontMatch: if exists and asLong then not matches

  isFormValid: ->
    {badLoginChars, usernameConflicts, passwordsDontMatch} = @state
    agreesToPrivacyPolicy = @refs.agreesToPrivacyPolicy?.getDOMNode().checked

    (badLoginChars?.length is 0) and (usernameConflicts.length is 0) and (passwordsDontMatch is false) and agreesToPrivacyPolicy

  handleSubmit: ->
    login = @refs.login.getDOMNode().value
