         # Hide all layers except the current layer
         @layerFadeOut(i) for i in [1..@maxItems] when i isnt @currentLayer
         @layerFadeIn(@currentLayer)
-         
+        
+      @_refreshControls()
+        
+    _refreshControls: =>
+      return unless @controls.enabled
+      
+      @controls._shiftLeft.stop().fadeTo(@controls.fadeTime, if @currentLayer > 1 or @repeating and @hovering then 1 else 0)
+      @controls._shiftRight.stop().fadeTo(@controls.fadeTime, if @currentLayer < @maxItems or @repeating and @hovering then 1 else 0)
+      
     shiftLeft: (e) => 
       e?.preventDefault()
       @shiftTo(@currentLayer - 1) 
         
     shiftRight: (e) => 
       e?.preventDefault()
-      @shiftTo(@currentLayer + 1) 
+      @shiftTo(@currentLayer + 1)
         
     _autoShift: =>
       autoRotation = @autoRotation

      # Create controls
      controls = @controls
      if controls.enabled
        shiftLeft = $('<a class="rondellControl rondellShiftLeft" href="#"/>').text(@strings.prev).click(@shiftLeft)
        .css(
          left: controls.margin.x
          top: controls.margin.y
          "z-index": @zIndex + @maxItems + 2
        )
          
        shiftRight = $('<a class="rondellControl rondellShiftRight" href="#/"/>').text(@strings.next).click(@shiftRight)
        .css(
          right: controls.margin.x
          top: controls.margin.y
          "z-index": @zIndex + @maxItems + 2
        )
          
        @container.append(shiftLeft, shiftRight)
        
        
      # Attach keydown event to document for each rondell instance
      $(document).keydown(@keyDown)
      
      # Add hover and touch functions to container
      @container.removeClass('initializing').bind('mouseover mouseout', @_hover).bind('touchstart touchmove touchend', @_touch)
      
      # Show items parent container
      @container.parent().show() if @showContainer
          
      # Fire callback with rondell instance if callback was provided
      @initCallback?(@)
      
      # Move items to starting positions
      @shiftTo(@currentLayer)
      
    _touch: (e) =>
      return unless @touch.enabled
      
      touch = e.originalEvent.touches[0] or e.originalEvent.changedTouches[0]

      strings: # String for the controls 
        prev: 'prev'
        next: 'next'
      mousewheel:
        enabled: true
        threshold: 5
        minTimeBetweenShifts: 300
        _lastShift: 0
      touch:
        enabled: true
        preventDefaults: true   # Will call event.preventDefault() on touch events
