diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickNumericalCalculator.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickNumericalCalculator.java
index fdbad4104d3119180b012cccd0a154bf60e6d8ec..d6556eb85aeccd86a912731abf181d067a755f71 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickNumericalCalculator.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickNumericalCalculator.java
@@ -63,13 +63,13 @@ public class AxisTickNumericalCalculator extends AxisTickCalculator {
     double margin = Utils.getTickStartOffset(workingSpace, tickSpace); // in plot space double gridStep = getGridStepForDecimal(tickSpace);
 
     BigDecimal gridStep = BigDecimal.valueOf(getNumericalGridStep(tickSpace));
-    // System.out.println("***gridStep: " + gridStep);
-    BigDecimal cleanedGridStep = gridStep.setScale(16, RoundingMode.HALF_UP); // chop off any double imprecision
-    // System.out.println("cleanedGridStep: " + cleanedGridStep);
+    System.out.println("***gridStep: " + gridStep);
+    BigDecimal cleanedGridStep = gridStep.setScale(10, RoundingMode.HALF_UP).stripTrailingZeros(); // chop off any double imprecision
+    System.out.println("cleanedGridStep: " + cleanedGridStep);
     BigDecimal firstPosition = BigDecimal.valueOf(getFirstPosition(cleanedGridStep.doubleValue()));
-    // System.out.println("firstPosition: " + firstPosition); // chop off any double imprecision
-    BigDecimal cleanedFirstPosition = firstPosition.setScale(16, RoundingMode.HALF_UP); // chop off any double imprecision
-    // System.out.println("scaledfirstPosition: " + cleanedFirstPosition);
+    System.out.println("firstPosition: " + firstPosition); // chop off any double imprecision
+    BigDecimal cleanedFirstPosition = firstPosition.setScale(10, RoundingMode.HALF_UP).stripTrailingZeros(); // chop off any double imprecision
+    System.out.println("cleanedFirstPosition: " + cleanedFirstPosition);
 
     // generate all tickLabels and tickLocations from the first to last position
     for (BigDecimal tickPosition = cleanedFirstPosition; tickPosition.compareTo(BigDecimal.valueOf(maxValue + 2 * cleanedGridStep.doubleValue())) < 0; tickPosition = tickPosition.add(cleanedGridStep)) {