diff --git a/src/macro/Expressions.cc b/src/macro/Expressions.cc
index fa924d17037d06757da60f113b9832f65f7edc2e..1f86367ddc9dc815fd5687c5cea783f0200dd835 100644
--- a/src/macro/Expressions.cc
+++ b/src/macro/Expressions.cc
@@ -615,10 +615,10 @@ Range::eval()
                      "the arguments must evaluate to reals");
 
   vector<ExpressionPtr> arr;
-  if (*incdbl > 0 && *startdbl < *enddbl)
+  if (*incdbl > 0 && *startdbl <= *enddbl)
     for (double i = *startdbl; i <= *enddbl; i += *incdbl)
       arr.emplace_back(make_shared<Real>(i, env));
-  else if (*startdbl > *enddbl && *incdbl < 0)
+  else if (*startdbl >= *enddbl && *incdbl < 0)
     for (double i = *startdbl; i >= *enddbl; i += *incdbl)
       arr.emplace_back(make_shared<Real>(i, env));