         var diameter:Number = Math.min(width, height);
         diameter = Math.max(DEFAULT_MINIMUM_SIZE, diameter);
         if (diameter % 2 != 0)
-        {
             diameter--;
+        
+        diameter = spinnerDiameterFixup(diameter);
+        
+        return diameter;
+    }
+    
+    /**
+     *  @private
+     * 
+     *  Modify the spinnerDiameter to avoid diameters that end up causing the 
+     *  spinner to jitter. This will cause us to reuse the spokeWidth and 
+     *  spokeHeight of the previous diameter size.
+     */ 
+    private function spinnerDiameterFixup(diameter:Number):Number
+    {
+        if (applicationDPI == 240)
+        {
+            // For diameter 30, use the settings for diameter 28 (29 is the same)
+            if (diameter >= 30 && diameter <= 33)
+                diameter = 28;
+        }
+        else if (applicationDPI == 160)
+        {
+            if (diameter == 24)
+                diameter = 22;
+            else if (diameter == 28)
+                diameter = 26;
         }
         
         return diameter;

     *  Diameter of the spinner for this component.
     */ 
    private var spinnerDiameter:int;
    
    //--------------------------------------------------------------------------
    //
    //  Public Properties 
    //
    //--------------------------------------------------------------------------
    
    //--------------------------------------------------------------------------
    //

 * 
 *  @mxml
 *  
 *  <p>The <code>&lt;s:BusyCursor&gt;</code> tag inherits the symbolColor style
 *  and adds the rotationInterval style.</p>
 *  
 *  <pre>
