416,430c416
<   /*
<    * MacOS-X says we should return !transparent && [self isBordered], 
<    * but that's wrong in our case, since if there is no border, 
<    * we draw the interior of the cell to fill completely the bounds.  
<    * They are likely to draw differently.
<    */
< 
<   // This seems the best to achieve a correct behaviour
<   // (consistent with Nextstep)
<   if (!(_cell.is_bordered 
< 	|| (_highlightsByMask & NSChangeBackgroundCellMask)
< 	|| (_highlightsByMask & NSChangeGrayCellMask)))
<     return NO;
<     
<   return !_buttoncell_is_transparent;
---
>   return !_buttoncell_is_transparent && _cell.is_bordered;
709,717d694
<   /* Determine the background color. */
<   if (mask & (NSChangeGrayCellMask | NSChangeBackgroundCellMask))
<     {
<       backgroundColor = [NSColor selectedControlColor];
<     }
< 
<   if (backgroundColor == nil)
<     backgroundColor = [NSColor controlBackgroundColor];
< 
726,727c703,718
<       [backgroundColor set];
<       NSRectFill (cellFrame);
---
>       /* Determine the background color. */
>       if (mask & (NSChangeGrayCellMask | NSChangeBackgroundCellMask))
>         {
>           backgroundColor = [NSColor selectedControlColor];
>         }
>       else if (_cell.is_bordered) 
>         {
>           backgroundColor = [NSColor controlBackgroundColor];
>         }
>       
>       if (backgroundColor != nil) 
>         {
>           [backgroundColor set];
>           NSRectFill (cellFrame);
>         }
>       
803,806c794
< 	if (_cell.is_bordered || _cell.is_bezeled) 
< 	  {
< 	    titleRect.size.width -= 3;
< 	  }
---
>         titleRect.size.width -= 3;
823,827c811,812
< 	if (_cell.is_bordered || _cell.is_bezeled) 
< 	  {
< 	    titleRect.origin.x += 3;
< 	    titleRect.size.width -= 3;
< 	  }
---
> 	titleRect.origin.x += 3;
> 	titleRect.size.width -= 3;
849a835
> 	    imageRect.origin.x += 3;
851,853d836
< 	    imageRect.origin.x   += 3;
< 	    titleRect.size.width -= 6;
< 	    titleRect.origin.x   += 3;
855,856d837
< 	    titleRect.size.height -= 1;
< 	    titleRect.origin.y    += 1;
857a839,841
> 	titleRect.origin.x += 3;
> 	titleRect.origin.y += 4;
> 	titleRect.size.width -= 6;
882,883d865
< 	    titleRect.size.width -= 6;
< 	    titleRect.origin.x   += 3;
886d867
< 	    titleRect.size.height -= 1;
887a869,871
> 	titleRect.size.width -= 6;
> 	titleRect.origin.x   += 3;
> 	titleRect.size.height -= 4;
922d905
<       if (_cell.is_bordered || _cell.is_bezeled)
924,927d906
<       else if (ipos == NSImageOnly)
< 	NSDottedFrameRect(cellFrame);
<       else
< 	NSDottedFrameRect(titleRect);
