                 if (hsb && viewport)
                 {
                     hAuto = true;
-                    hsbVisible = (contentW > viewportW);
+                    hsbVisible = (contentW >= (viewportW + SDT));
                 } 
                 break;
 

        var viewportH:Number = isNaN(explicitViewportH) ? (h - (minViewportInset * 2)) : explicitViewportH;
                        
        // Decide which scrollbars will be visible based on the viewport's content size
        // and the scroller's scroll policies.
        
        var oldShowHSB:Boolean = hsbVisible;
        var oldShowVSB:Boolean = vsbVisible;

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