       <hr />
       <div className="content-container">
         <h3>Change profile header</h3>
-        <PromiseRenderer promise={@headerGet}>{(header) =>
+        <PromiseRenderer promise={@profile_headerGet}>{(header) =>
           placeholder = <p className="content-container">Drop an image here (or click to select).</p>
           <div>
             <p className="form-help">Drop an image here (any dimensions, less than {Math.floor MAX_HEADER_SIZE / 1000} KB)</p>
             <div style={width: '40vw'}>
               <ImageSelector maxSize={MAX_HEADER_SIZE} defaultValue={header?.src} placeholder={placeholder} onChange={@handleMediaChange.bind(this, 'profile_header')} />
+            </div>
+            <div>
+              <button type="button" disabled={header is null} onClick={@handleMediaClear.bind(this, 'profile_header')}>Clear header</button>
             </div>
           </div>
         }</PromiseRenderer>

      .then ([resource]) =>
        putFile resource.src, file
      .then =>
        @props.user.uncacheLink type
        @["#{type}Get"] = null # Uncache the local request so that rerendering makes it again.
        @props.user.emit 'change'
      .catch (error) =>
        newState = {}
        newState[errorProp] = error
        @setState newState

    headerError: null

  render: ->
    @avatarGet ?= @props.user.get 'avatar', {}
      .then ([avatar]) ->
        avatar
      .catch ->
        null
    @profile_headerGet ?= @props.user.get 'profile_header', {}
      .then ([header]) ->
        header
      .catch ->
