       # TODO: Support multi-subject classifications in the future.
       @setState {subject}
 
+  checkExpertClassifier: (props = @props) ->
+    if props.project and props.user and @state.expertClassifier is null
+      getUserRoles = props.project.get('project_roles', user_id: props.user.id)
+        .then (projectRoles) =>
+          getProjectRoleHavers = Promise.all projectRoles.map (projectRole) =>
+            projectRole.get 'owner'
+          getProjectRoleHavers
+            .then (projectRoleHavers) =>
+              (projectRoles[i].roles for user, i in projectRoleHavers when user is props.user)
+            .then (setsOfUserRoles) =>
+              [[], setsOfUserRoles...].reduce (set, next) =>
+                set.concat next
+
+      getUserRoles.then (userRoles) =>
+        expertClassifier = isAdmin() or 'owner' in userRoles or 'collaborator' in userRoles or 'expert' in userRoles
+        @setState {expertClassifier, userRoles}
+
   render: ->
     if @state.workflow? and @state.subject?
-      <Classifier {...@props} workflow={@state.workflow} subject={@state.subject} />
+      <Classifier {...@props}
+        workflow={@state.workflow}
+        subject={@state.subject}
+        expertClassifier={@state.expertClassifier}
+        userRoles={@state.userRoles} />
     else
       <span>Loading classifier...</span>

  componentDidMount: ->
    @loadSubject @props.subject
    @prepareToClassify @props.classification
    @checkExpertClassifier()
    Tutorial.startIfNecessary @props.user, @props.project

  componentWillReceiveProps: (nextProps) ->
    if nextProps.project isnt @props.project or nextProps.user isnt @props.user
      @setState expertClassifier: null
      @checkExpertClassifier nextProps
      Tutorial.startIfNecessary nextProps.user, nextProps.project
    if nextProps.subject isnt @props.subject
      @loadSubject subject

    </div>

  renderExpertOptions: ->
    return unless @props.expertClassifier
    <TriggeredModalForm trigger={
      <i className="fa fa-cog fa-fw"></i>
    }>
      {if 'owner' in @props.userRoles or 'expert' in @props.userRoles
        <p>
          <label>
            <input type="checkbox" checked={@props.classification.gold_standard} onChange={@handleGoldStandardChange} />{' '}
