diff --git a/src/main/java/teetime/stage/InitialElementProducer.java b/src/main/java/teetime/stage/InitialElementProducer.java
index 9aa93ec762f7338a4431554c85f4588253760c06..92ff93c97d230bdd06de322a406ce24a64af2ddc 100644
--- a/src/main/java/teetime/stage/InitialElementProducer.java
+++ b/src/main/java/teetime/stage/InitialElementProducer.java
@@ -40,7 +40,7 @@ public final class InitialElementProducer<T> extends AbstractProducerStage<T> {
 	@Override
 	public void onStarting() throws Exception {
 		if (elements == null) {
-			throw new NullPointerException("iter must not be null");
+			throw new IllegalArgumentException("iter must not be null");
 		}
 		super.onStarting();
 	}
diff --git a/src/main/java/teetime/stage/IterableProducer.java b/src/main/java/teetime/stage/IterableProducer.java
index 9e8eb9d42aef42fb7fdf70efd0145244a5fa350b..eb1e079bc075dad05c763924fbb924ce88dffb80 100644
--- a/src/main/java/teetime/stage/IterableProducer.java
+++ b/src/main/java/teetime/stage/IterableProducer.java
@@ -40,7 +40,7 @@ public final class IterableProducer<T> extends AbstractProducerStage<T> {
 	@Override
 	public void onStarting() throws Exception {
 		if (iter == null) {
-			throw new NullPointerException("iter must not be null");
+			throw new IllegalArgumentException("iter must not be null");
 		}
 		super.onStarting();
 	}