diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentLineChart.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentLineChart.java
index f70c8bd61ba69527e78711f9293881a4d02cc6fe..2b4270c884d34728613785e2d139686c82d531f9 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentLineChart.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentLineChart.java
@@ -98,10 +98,6 @@ public class PlotContentLineChart extends PlotContent {
 
       Iterator<?> xItr = xData.iterator();
       Iterator<? extends Number> yItr = yData.iterator();
-      Iterator<? extends Number> ebItr = null;
-      if (errorBars != null) {
-        ebItr = errorBars.iterator();
-      }
 
       Path2D.Double path = null;
 
@@ -112,11 +108,16 @@ public class PlotContentLineChart extends PlotContent {
           x = ((Number) xItr.next()).doubleValue();
           // System.out.println(x);
         }
-        if (getChartPainter().getAxisPair().getXAxis().getAxisType() == AxisType.Date) {
+        else if (getChartPainter().getAxisPair().getXAxis().getAxisType() == AxisType.Date) {
           x = ((Date) xItr.next()).getTime();
           // System.out.println(x);
         }
 
+        // break out of out of over-ridden min and max values
+        if (x < getChartPainter().getStyleManager().getXAxisMin() || x > getChartPainter().getStyleManager().getXAxisMax()) {
+          continue;
+        }
+
         if (getChartPainter().getStyleManager().isXAxisLogarithmic()) {
           x = Math.log10(x);
         }
@@ -134,12 +135,12 @@ public class PlotContentLineChart extends PlotContent {
         }
 
         double yOrig = next.doubleValue();
-        double y = 0.0;
-        double eb = 0.0;
 
-        if (errorBars != null) {
-          eb = (Double) ebItr.next();
+        // break out of out of over-ridden min and max values
+        if (yOrig < getChartPainter().getStyleManager().getYAxisMin() || yOrig > getChartPainter().getStyleManager().getYAxisMax()) {
+          continue;
         }
+        double y = 0.0;
 
         // System.out.println(y);
         if (getChartPainter().getStyleManager().isYAxisLogarithmic()) {
@@ -208,7 +209,17 @@ public class PlotContentLineChart extends PlotContent {
           series.getMarker().paint(g, xOffset, yOffset);
         }
 
-        // paint errorbar
+        // paint errorbars
+        Iterator<? extends Number> ebItr = null;
+        if (errorBars != null) {
+          ebItr = errorBars.iterator();
+        }
+        double eb = 0.0;
+
+        if (errorBars != null) {
+          eb = (Double) ebItr.next();
+        }
+
         if (errorBars != null) {
 
           g.setColor(getChartPainter().getStyleManager().getErrorBarsColor());