diff --git a/bundles/org.eclipse.rap.nebula.widgets.grid/src/org/eclipse/nebula/widgets/grid/Grid.java b/bundles/org.eclipse.rap.nebula.widgets.grid/src/org/eclipse/nebula/widgets/grid/Grid.java
index 8a71b72..a340511 100644
--- a/bundles/org.eclipse.rap.nebula.widgets.grid/src/org/eclipse/nebula/widgets/grid/Grid.java
+++ b/bundles/org.eclipse.rap.nebula.widgets.grid/src/org/eclipse/nebula/widgets/grid/Grid.java
@@ -2709,8 +2709,8 @@
         && !hasColumnImages( index )
         && !hasColumnTexts( index ) )
     {
-      result = getCellWidth( index ) - padding.width - getCheckBoxImageOuterSize().x;
-      result = Math.max( result / 2, padding.x );
+      result = ( getCellWidth( index ) - getCheckBoxImageSize().x ) / 2;
+      result = Math.max( result, padding.x );
     }
     if( result == -1 ) {
       result = getCheckBoxMargin().x;
diff --git a/tests/org.eclipse.rap.nebula.widgets.grid.test/src/org/eclipse/nebula/widgets/grid/Grid_Test.java b/tests/org.eclipse.rap.nebula.widgets.grid.test/src/org/eclipse/nebula/widgets/grid/Grid_Test.java
index 21438c4..930c488 100644
--- a/tests/org.eclipse.rap.nebula.widgets.grid.test/src/org/eclipse/nebula/widgets/grid/Grid_Test.java
+++ b/tests/org.eclipse.rap.nebula.widgets.grid.test/src/org/eclipse/nebula/widgets/grid/Grid_Test.java
@@ -2368,7 +2368,7 @@
     createGridItems( grid, 1, 1 );
 
     assertEquals( 0, getCheckBoxOffset( 0 ) );
-    assertEquals( 32, getCheckBoxOffset( 1 ) );
+    assertEquals( 39, getCheckBoxOffset( 1 ) );
   }
 
   public void testCheckBoxLeftOffset_CenteredWithContent() {
