diff --git a/goffice/graph/gog-axis.c b/goffice/graph/gog-axis.c
index 5871d7b..42e8d7c 100644
--- a/goffice/graph/gog-axis.c
+++ b/goffice/graph/gog-axis.c
@@ -722,6 +722,8 @@ map_linear_auto_bound (GogAxis *axis, double minimum, double maximum, double *bo
 	range = fabs (maximum - minimum);
 
 	/* handle singletons */
+	if (range > 0. && range / (fabs (minimum) + fabs (maximum)) <= DBL_EPSILON)
+		range = 0.;
 	if (go_sub_epsilon (range) <= 0.) {
 		if (maximum > 0)
 			minimum = 0.;
