diff --git a/core/src/main/java/com/yahoo/ycsb/generator/ZipfianGenerator.java b/core/src/main/java/com/yahoo/ycsb/generator/ZipfianGenerator.java
index 8a70f0869a16c7d2776072c1b6c4ed2e94e38e27..017fa05e5723766bc5fbd12ffd950a0eb32a09c3 100644
--- a/core/src/main/java/com/yahoo/ycsb/generator/ZipfianGenerator.java
+++ b/core/src/main/java/com/yahoo/ycsb/generator/ZipfianGenerator.java
@@ -276,12 +276,12 @@ public class ZipfianGenerator extends IntegerGenerator
 
 		if (uz<1.0)
 		{
-			return 0;
+			return base;
 		}
 
 		if (uz<1.0+Math.pow(0.5,theta)) 
 		{
-			return 1;
+			return base + 1;
 		}
 
 		long ret=base+(long)((itemcount) * Math.pow(eta*u - eta + 1, alpha));
diff --git a/core/src/test/java/com/yahoo/ycsb/generator/TestZipfianGenerator.java b/core/src/test/java/com/yahoo/ycsb/generator/TestZipfianGenerator.java
new file mode 100644
index 0000000000000000000000000000000000000000..4b7cc2a43ec606dc000684e8e0a907da0a50bb7e
--- /dev/null
+++ b/core/src/test/java/com/yahoo/ycsb/generator/TestZipfianGenerator.java
@@ -0,0 +1,39 @@
+/**
+ * Copyright (c) 2010 Yahoo! Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you
+ * may not use this file except in compliance with the License. You
+ * may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied. See the License for the specific language governing
+ * permissions and limitations under the License. See accompanying
+ * LICENSE file.
+ */
+
+package com.yahoo.ycsb.generator;
+
+import org.testng.annotations.Test;
+
+import static org.testng.AssertJUnit.assertFalse;
+
+
+public class TestZipfianGenerator {
+    @Test
+    public void testMinAndMaxParameter() {
+        long min = 5;
+        long max = 10;
+        ZipfianGenerator zipfian = new ZipfianGenerator(min, max);
+
+        for (int i = 0; i < 10000; i++) {
+            long rnd = zipfian.nextLong();
+            assertFalse(rnd < min);
+            assertFalse(rnd > max);
+        }
+
+    }
+}