                 if (hsb && viewport)
                 {
                     hAuto = true;
-                    hsbVisible = (contentW >= (viewportW + Scroller.SDT));
+                    hsbVisible = (contentW >= (viewportW + SDT));
                 } 
                 break;
             
             default:
                 hsbVisible = false;
         }
+        _canScrollHorizontally = hsbVisible;
 
         var vAuto:Boolean = false;
         var vsbTakeUpSpace:Boolean = true; // if visible

                var viewportPreferredH:Number = viewport.getPreferredBoundsHeight();
                var viewportContentH:Number = contentSize.y;
                var viewportH:Number = viewport.getLayoutBoundsHeight();  // "current" size
                var currentSizeNoVSB:Boolean = !isNaN(viewportH) && ((viewportH + Scroller.SDT) > viewportContentH);
                if (vAuto && !showVSB && ((viewportPreferredH + Scroller.SDT) <= viewportContentH) && currentSizeNoVSB)
                    measuredH += viewportH;
                else
                    measuredH += Math.max(viewportPreferredH, (showVSB) ? vsb.getMinBoundsHeight() : 0);

        var hsbIsDependent:Boolean = false;
        var vsbIsDependent:Boolean = false;
        
        if (vsbVisible && !hsbVisible && hAuto && (contentW >= (viewportW + SDT)))
            hsbVisible = hsbIsDependent = _canScrollHorizontally = true;
        else if (!vsbVisible && hsbVisible && vAuto && (contentH >= (viewportH + SDT)))
            vsbVisible = vsbIsDependent = _canScrollVertically = true;

        // If the HSB doesn't fit, hide it and give the space back.   Likewise for VSB.
        // If both scrollbars are supposed to be visible but they don't both fit, 
