     anchor = @_getLonghandAnchor args[1]
     options = extendObj args[2], @_methodDefaults[method]
 
-    if anchor isnt @lastAnchor or (method is 'foldUp' and @lastAngle isnt 0)
-      
+    if anchor isnt @lastAnchor or (method is 'foldUp' and @lastAngle isnt 0) or @isFoldedUp
       @reset =>
         @_showStage anchor
 
         setTimeout =>
-
-          if method is 'foldUp' or method is 'unfold'
+          if method is 'foldUp'
             args.shift()
 
           @[method].apply @, args



  reset: (callback) ->
    for panel, i in @panels[@lastAnchor]
      panel.style[css.transform] = @_transform 0
      if @shading

    return unless normalized
    anchor = normalized[1]
    @isFoldedUp = true
    i = @panels[anchor].length - 1
    angle = 100

    nextPanel = =>
      @panels[anchor][i].addEventListener css.transitionEnd, onTransitionEnd, false
      @panels[anchor][i].style[css.transform] = @_transform angle
      if @shading
        @_setShader i, anchor, angle

    onTransitionEnd = (e) =>
      @panels[anchor][i].removeEventListener css.transitionEnd, onTransitionEnd, false
      @panels[anchor][i].style.display = 'none'
      if --i is 0
        @_callback callback
      else
        setTimeout nextPanel, 0

    nextPanel()


  unfold: (callback) ->
