diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickLogarithmicCalculator.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickLogarithmicCalculator.java
index ba057debd1d57168b232575ddb629b6769604fc9..37cee125d8ab17c3878a6116680efe4c6f88b71f 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickLogarithmicCalculator.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickLogarithmicCalculator.java
@@ -66,9 +66,26 @@ public class AxisTickLogarithmicCalculator extends AxisTickCalculator {
     // where the tick should begin in the working space in pixels
     int margin = AxisPair.getTickStartOffset(workingSpace, tickSpace); // in plot space BigDecimal gridStep = getGridStepForDecimal(tickSpace);
 
+    if (axisDirection == Direction.Y && styleManager.getXAxisMin() == null) {
+
+    }
+
     int logMin = (int) Math.floor(Math.log10(minValue.doubleValue()));
     int logMax = (int) Math.ceil(Math.log10(maxValue.doubleValue()));
 
+    if (axisDirection == Direction.Y && styleManager.getYAxisMin() != null) {
+      logMin = (int) (Math.log10(styleManager.getYAxisMin())); // no floor
+    }
+    if (axisDirection == Direction.Y && styleManager.getYAxisMax() != null) {
+      logMax = (int) (Math.log10(styleManager.getYAxisMax())); // no floor
+    }
+    if (axisDirection == Direction.X && styleManager.getXAxisMin() != null) {
+      logMin = (int) (Math.log10(styleManager.getXAxisMin())); // no floor
+    }
+    if (axisDirection == Direction.X && styleManager.getXAxisMax() != null) {
+      logMax = (int) (Math.log10(styleManager.getXAxisMax())); // no floor
+    }
+
     final BigDecimal min = new BigDecimal(minValue.doubleValue());
     BigDecimal tickStep = pow(10, logMin - 1);
 
@@ -99,5 +116,4 @@ public class AxisTickLogarithmicCalculator extends AxisTickCalculator {
       firstPosition = tickStep.add(pow(10, i));
     }
   }
-
 }