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 e0ac375ea4cac5d3072fc7e915540b4ca488fb98..8b451ef280322abb6336123cedf25957b73dc231 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
@@ -75,7 +75,7 @@ public class AxisTickNumericalCalculator extends AxisTickCalculator {
     double absoluteMaxValue = minValue <= maxValue ? maxValue : minValue;
     for (BigDecimal value = cleanedFirstPosition; value.compareTo(BigDecimal.valueOf(absoluteMaxValue + 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) {