diff -Nur ubuntulooks-0.9.12/engine/src/ubuntulooks_draw.c ubuntulooks-0.9.12.new/engine/src/ubuntulooks_draw.c
--- ubuntulooks-0.9.12/engine/src/ubuntulooks_draw.c	2006-09-01 18:57:20.000000000 +0200
+++ engine/src/ubuntulooks_draw.c	2006-10-09 16:26:29.000000000 +0200
@@ -1837,14 +1837,6 @@
 	cairo_pattern_t *pattern;
 	gboolean draw_bullet = (checkbox->shadow_type == GTK_SHADOW_IN);
 
-	/* sanitize size to be rectangular */
-	if (width > height) {
-		x += (width - height) / 2;
-		width = height;
-	} else if (height > width) {
-		y += (height - width) / 2;
-		height = width;
-	}
 	
 	cairo_set_line_width (cr, 1.0);
 	
@@ -1947,8 +1939,6 @@
 		
 	}
 	
-	cairo_translate (cr, x, y);
-	cairo_scale (cr, width / 13.0, height / 13.0);
 	/* To offset this checkmark, one should probably use a translation */
 	if (draw_bullet)
 	{
@@ -1961,7 +1951,7 @@
 			cairo_translate (cr, -2, -2);
 		}
 	
-		cairo_move_to (cr, 4, 8);
+		cairo_move_to (cr, x + 4, y + 8);
 		cairo_rel_line_to (cr,   5,   4);
 		cairo_rel_curve_to (cr,  1.4,  -5,   -1,  -1,   5.7,  -12.5);
 		cairo_rel_curve_to (cr, -4,   4,  -4,   4,  -6.7,    9.3);
@@ -1975,7 +1965,10 @@
 	}
 	else if (checkbox->shadow_type == GTK_SHADOW_ETCHED_IN)
 	{
-		cairo_rectangle (cr, 4.0, 6.0, 6, 2);
+		int c_x = x + (width/2) - 2;
+		int c_y = y + (height/2);
+
+		cairo_rectangle (cr, c_x, c_y, 6, 2);
 		cairo_set_source_rgb (cr, colors->text[widget->state_type].r,
 		                          colors->text[widget->state_type].g,
 		                          colors->text[widget->state_type].b);
@@ -1993,15 +1986,7 @@
 	CairoColor border, top, bottom;
 	cairo_pattern_t *pattern;
 	gboolean draw_bullet = (checkbox->shadow_type == CL_SHADOW_IN || checkbox->shadow_type == CL_SHADOW_ETCHED_IN);
-	/* sanitize size to be rectangular */
-	if (width > height) {
-		x += (width - height) / 2;
-		width = height;
-	} else if (height > width) {
-		y += (height - width) / 2;
-		height = width;
-	}
-
+	
 	cairo_set_line_width (cr, 1.0);
 	
 	if (checkbox->in_menu)
@@ -2085,11 +2070,9 @@
 	cairo_stroke (cr);
 	
 	// draw the bullet
-	cairo_translate (cr, x, y);
-	cairo_scale (cr, width / 13.0, height / 13.0);
 	if (draw_bullet)
 	{
-		cairo_arc (cr, 6.5, 6.5, 2.5, 0, 2 * M_PI);
+		cairo_arc (cr, x+width/2., y+height/2., 2.5, 0, 2 * M_PI);
 		if (widget->disabled)
 		{
 			cairo_set_source_rgb (cr, colors->text[widget->state_type].r,
@@ -2098,7 +2081,7 @@
 		}
 		else
 		{
-			pattern = cairo_pattern_create_radial (5.25, 5.25, 0.1, 5.25, 5.25, 4);
+			pattern = cairo_pattern_create_radial (x+width/2. - 1.25, y+height/2. - 1.25, 0.1, x+width/2. - 1.25, y+height/2. - 1.25, 4);
 			cairo_pattern_add_color_stop_rgb (pattern, 0.0, 0.4, 0.4, 0.4);
 			cairo_pattern_add_color_stop_rgb (pattern, 1.0, colors->text[widget->state_type].r,
 			                                                colors->text[widget->state_type].g,
