     # Disable tweening to enable instant 1 to 1 movement.
     @_setTweening false
     # Derive the axis to fold on.
-    @_touchAxis = if @lastAnchor is 'left' or @lastAnchor is 'right' then 'x' else 'y'
+    @_touchAxis = if @lastOp.anchor is 'left' or @lastOp.anchor is 'right' then 'x' else 'y'
     # Set a reference to the last folded angle to accurately derive deltas.
     @["_#{ @_touchAxis }Last"] = @lastAngle
 

      speed = if speed then @settings.speed + 'ms' else '0ms'

    # To loop through the shaders, derive the correct pair from the current anchor.
    if @lastAnchor is 'left' or @lastAnchor is 'right'
      shaderPair = ['left', 'right']
    else
      shaderPair = ['top', 'bottom']

    # Loop through the panels in this anchor and set the transition duration to the new speed.
    for panel, i in @panels[@lastAnchor]
      panel.style[css.transitionDuration] = speed
      if @shading
        for side in shaderPair
          @_shaders[@lastAnchor][side][i].style[css.transitionDuration] = speed

    # Return null and not the loop's result.
    null


    nextPanel = =>
      # Show the panel again.
      @panels[@lastOp.anchor][i].style.display = 'block'
      # Wait for the next event loop so the transition listener works.
      setTimeout =>
        @panels[@lastOp.anchor][i].addEventListener css.transitionEnd, onTransitionEnd, false
        @panels[@lastOp.anchor][i].style[css.transform] = @_transform angle, anchor
        @_setShader i, @lastOp.anchor, angle if @shading
      , 0

    onTransitionEnd = (e) =>
      @panels[@lastOp.anchor][i].removeEventListener css.transitionEnd, onTransitionEnd, false
      # Increment the iterator and check if we're past the last panel.
      if ++i is @panels[@lastOp.anchor].length
        callback?()
      else
        setTimeout nextPanel, 0

    # Start the sequence.
    nextPanel()
    @


  # Convenience Methods
