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 5ef23fb885fc454bd3082ca9010fbfe187f0005b..ba41617daf38fbe098051c0d9df3d89d4c617b62 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
@@ -74,7 +74,7 @@ public class AxisTickNumericalCalculator extends AxisTickCalculator {
     // generate all tickLabels and tickLocations from the first to last position
     for (BigDecimal value = cleanedFirstPosition; value.compareTo(BigDecimal.valueOf(maxValue + 2 * cleanedGridStep.doubleValue())) < 0; value = value.add(cleanedGridStep)) {
 
-      // System.out.println(tickPosition);
+      // System.out.println(value);
       String tickLabel = numberFormatter.formatNumber(value, minValue, maxValue, axisDirection);
       // System.out.println(tickLabel);
       tickLabels.add(tickLabel);
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/NumberFormatter.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/NumberFormatter.java
index 41782c2664b0b4290dba8d4689fcf010213913c1..6e8682f9a5f339d187ae5fd453d6ef489fcb85a3 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/NumberFormatter.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/NumberFormatter.java
@@ -43,6 +43,11 @@ public class NumberFormatter {
     // System.out.println("min: " + min);
     // System.out.println("max: " + max);
 
+    // some special cases first
+    if (value.compareTo(BigDecimal.ZERO) == 0) {
+      return "0";
+    }
+
     double difference = max - min;
     int placeOfDifference;
     if (difference == 0.0) {