diff --git a/util.go b/util.go
index c6797cb..89ca54d 100644
--- a/util.go
+++ b/util.go
@@ -92,11 +92,11 @@
 	if duration > math.MaxInt64 {
 		return b.max
 	}
-	dur := time.Duration(duration)
 
 	if b.jitter {
 		duration = rand.Float64()*(duration-initial) + initial
 	}
+	dur := time.Duration(duration)
 
 	if dur > b.max {
 		return b.max
diff --git a/util_test.go b/util_test.go
index 4ee7845..3909dab 100644
--- a/util_test.go
+++ b/util_test.go
@@ -49,6 +49,18 @@
 			Expect(4).To(Equal(b.Attempt()))
 		})
 
+		It("should properly apply exponential backoff strategy with jitter set to true", func() {
+			b := NewExponentialBackoff(200*time.Millisecond, 2*time.Second, 2, true)
+			Expect(200 * time.Millisecond).To(BeNumerically(">=", int64(b.Duration().Seconds())))
+			Expect(1).To(Equal(b.Attempt()))
+			Expect(400 * time.Millisecond).To(BeNumerically(">=", int64(b.Duration().Seconds())))
+			Expect(2).To(Equal(b.Attempt()))
+			Expect(800 * time.Millisecond).To(BeNumerically(">=", int64(b.Duration().Seconds())))
+			Expect(3).To(Equal(b.Attempt()))
+			Expect(1600 * time.Millisecond).To(BeNumerically(">=", int64(b.Duration().Seconds())))
+			Expect(4).To(Equal(b.Attempt()))
+		})
+
 		It("should reset properly", func() {
 			b := NewExponentialBackoff(200*time.Millisecond, 2*time.Second, 2, false)
 			Expect(200 * time.Millisecond).To(Equal(b.Duration()))
@@ -65,6 +77,23 @@
 			Expect(800 * time.Millisecond).To(Equal(b.Duration()))
 			Expect(3).To(Equal(b.Attempt()))
 		})
+
+		It("should reset properly with jitter set to true", func() {
+			b := NewExponentialBackoff(200*time.Millisecond, 2*time.Second, 2, true)
+			Expect(200 * time.Millisecond).To(BeNumerically(">=", int64(b.Duration().Seconds())))
+			Expect(1).To(Equal(b.Attempt()))
+			Expect(400 * time.Millisecond).To(BeNumerically(">=", int64(b.Duration().Seconds())))
+			Expect(2).To(Equal(b.Attempt()))
+			Expect(800 * time.Millisecond).To(BeNumerically(">=", int64(b.Duration().Seconds())))
+			Expect(3).To(Equal(b.Attempt()))
+			b.Reset()
+			Expect(200 * time.Millisecond).To(BeNumerically(">=", int64(b.Duration().Seconds())))
+			Expect(1).To(Equal(b.Attempt()))
+			Expect(400 * time.Millisecond).To(BeNumerically(">=", int64(b.Duration().Seconds())))
+			Expect(2).To(Equal(b.Attempt()))
+			Expect(800 * time.Millisecond).To(BeNumerically(">=", int64(b.Duration().Seconds())))
+			Expect(3).To(Equal(b.Attempt()))
+		})
 	})
 
 })
