             case DPIClassification.DPI_320:
             {
                 layoutMeasuredWidth = 12;
+                paddingRight = VScrollBarThumbSkin.PADDING_RIGHT_320DPI;
+                paddingVertical = VScrollBarThumbSkin.PADDING_VERTICAL_320DPI;
                 break;
             }
             case DPIClassification.DPI_240:
             {
                 layoutMeasuredWidth = 9;
+                paddingRight = VScrollBarThumbSkin.PADDING_RIGHT_240DPI;
+                paddingVertical = VScrollBarThumbSkin.PADDING_VERTICAL_240DPI;
                 break;
             }
             default:
             {
                 // default PPI160
                 layoutMeasuredWidth = 6;
+                paddingRight = VScrollBarThumbSkin.PADDING_RIGHT_DEFAULTDPI;
+                paddingVertical = VScrollBarThumbSkin.PADDING_VERTICAL_DEFAULTDPI;
                 break;
             }
         }
+
+        // The minimum height is set such that, at it's smallest size, the thumb appears
+        // as high as it is wide.
+        minThumbHeight = (layoutMeasuredWidth - paddingRight) + (paddingVertical * 2);   
     }
     
     //--------------------------------------------------------------------------

import spark.components.Button;
import spark.components.VScrollBar;
import spark.skins.mobile.supportClasses.MobileSkin;


/**
 *  ActionScript-based skin for VScrollBar components in mobile applications. 

        if (!thumb)
        {
            thumb = new Button();
            thumb.minHeight = minThumbHeight; 
            thumb.setStyle("skinClass", thumbSkinClass);
            thumb.width = layoutMeasuredWidth;
            thumb.height = layoutMeasuredWidth;
