     frame: @props.frame ? 0
     playbackRate: 1
     frameDimensions: {}
-    inFlipbookMode: workflowAllowsFlipbook @props.workflow
+    inFlipbookMode: @props.allowFlipbook
+
+  willReceiveProps: (nextProps) ->
+    # The default state for subjects is flipbook if allowed
+    if typeof nextProps.allowFlipbook is 'boolean'
+      this.setState
+        inFlipbookMode: allowFlipbook
 
   componentDidMount: ->
     @refs.videoScrubber?.value = 0


    tools = switch type
      when 'image'
        if not @state.inFlipbookMode or @props.subject?.locations.length < 2 or subjectHasMixedLocationTypes @props.subject
          if workflowAllowsFlipbook(@props.workflow) and workflowAllowsSeparateFrames(@props.workflow)
            <button className="flipbook-toggle" onClick={@toggleInFlipbookMode}>
              <i className={"fa fa-fw " + if @state.inFlipbookMode then "fa-th-large" else "fa-film"}></i>
            </button>
        else
          <span class="tools">
            {if workflowAllowsFlipbook(@props.workflow) and workflowAllowsSeparateFrames(@props.workflow)
              <button className="flipbook-toggle" onClick={@toggleInFlipbookMode}>
                <i className={"fa fa-fw " + if @state.inFlipbookMode then "fa-th-large" else "fa-film"}></i>
              </button>}

    project: null
    linkToFullImage: false
    frameWrapper: null
    allowFlipbook: true
    allowSeparateFrames: true

  getInitialState: ->
    loading: true
