diff --git a/src/Eris/Generator/Natural.php b/src/Eris/Generator/Natural.php
index <HASH>..<HASH> 100644
--- a/src/Eris/Generator/Natural.php
+++ b/src/Eris/Generator/Natural.php
@@ -30,9 +30,10 @@ class Natural implements Generator
 
     public function shrink($element)
     {
-        if ($element > 0) {
+        if ($element > $this->lowerLimit) {
             $element--;
         }
+
         return $element;
     }
 
diff --git a/test/Eris/Generator/NaturalTest.php b/test/Eris/Generator/NaturalTest.php
index <HASH>..<HASH> 100644
--- a/test/Eris/Generator/NaturalTest.php
+++ b/test/Eris/Generator/NaturalTest.php
@@ -30,10 +30,9 @@ class NaturalTest extends \PHPUnit_Framework_TestCase
         $this->assertEquals($lastValue - 1, $generator->shrink($lastValue));
     }
 
-    public function testCannotShrinkBelowZero()
+    public function testCannotShrinkBelowTheLowerLimit()
     {
-        $generator = new Natural($lowerLimit = 0, $upperLimit = 0);
-        $lastValue = $generator();
-        $this->assertEquals(0, $generator->shrink($lastValue));
+        $generator = new Natural($lowerLimit = 4, $upperLimit = 10);
+        $this->assertEquals(4, $generator->shrink(4));
     }
 }
Fixed bug in Generator\Natural shrinking: values were going under the lower limit