       @context.geordi?.remember projectToken: nextProps.project?.slug
 
     # Only call to get workflow if we know if there is a user or not and the project is finished loading
-    if nextContext.initialLoadComplete and not nextProps.loading and nextProps.preferences and @state.activeWorkflows.length is 0
-      @getAllWorkflows(nextProps.project)
+    if nextContext.initialLoadComplete and not nextProps.loading and nextProps.preferences and @state.activeWorkflows.length is 0 and not @state.loadingSelectedWorkflow
+
+      if nextProps.location.query?.workflow? and ('allow workflow query' in nextProps.project.experimental_tools or @checkUserRoles(nextProps.project, nextProps.user))
+        @getAllWorkflows(nextProps.project, { id: nextProps.location.query.workflow })
+      else
+        @getAllWorkflows(nextProps.project)
 
     if nextProps.preferences?.preferences? and @state.selectedWorkflow?
       if nextProps.preferences?.preferences.selected_workflow isnt @state.selectedWorkflow.id


  redirectClassifyLink: (redirect) ->
    "#{redirect.replace(/\/?#?\/+$/, "")}/#/classify"

  render: ->
    projectPath = "/projects/#{@props.project.slug}"

      .then (pages) =>
        @setState {pages}

  getAllWorkflows: (project, query = { active: true }) ->
    @setState { loadingSelectedWorkflow: true }
    getWorkflowsInOrder(project, query)
      .then (activeWorkflows) =>
        @setState { activeWorkflows }
      .then =>
