diff --git a/src/main/java/teetime/framework/OutputPort.java b/src/main/java/teetime/framework/OutputPort.java
index 7a2cda8abfe496ab8a3344d8050836ac6abc2e78..1c49bfc6c471909741d38e4c2c29914a3a876fe0 100644
--- a/src/main/java/teetime/framework/OutputPort.java
+++ b/src/main/java/teetime/framework/OutputPort.java
@@ -25,18 +25,16 @@ public final class OutputPort<T> extends AbstractPort<T> {
 
 	/**
 	 * @param element
-	 *            to be sent
+	 *            to be sent; May not be <code>null</code>.
 	 */
 	public void send(final T element) {
-		if (this.pipe.add(element)) {
-			this.pipe.reportNewElement();
-		}
+		this.pipe.add(element);
 	}
 
 	/**
 	 *
 	 * @param signal
-	 *            to be sent
+	 *            to be sent; May not be <code>null</code>.
 	 */
 	public void sendSignal(final ISignal signal) {
 		this.pipe.sendSignal(signal);
diff --git a/src/main/java/teetime/framework/pipe/SingleElementPipe.java b/src/main/java/teetime/framework/pipe/SingleElementPipe.java
index 587030bc5bce68c463969baa66870f2825aca2ab..c6d519496b9b3862e7ab6b5475f8d853a576ed35 100644
--- a/src/main/java/teetime/framework/pipe/SingleElementPipe.java
+++ b/src/main/java/teetime/framework/pipe/SingleElementPipe.java
@@ -36,6 +36,7 @@ public final class SingleElementPipe extends AbstractIntraThreadPipe {
 	@Override
 	public boolean add(final Object element) {
 		this.element = element;
+		this.reportNewElement();
 		return true;
 	}
 
diff --git a/src/main/java/teetime/framework/pipe/SpScPipe.java b/src/main/java/teetime/framework/pipe/SpScPipe.java
index 947a5fb7c20707e2a39db1525460473adfc1782c..0641f97545c6744b65e2610692238b15e7450aeb 100644
--- a/src/main/java/teetime/framework/pipe/SpScPipe.java
+++ b/src/main/java/teetime/framework/pipe/SpScPipe.java
@@ -53,6 +53,7 @@ public final class SpScPipe extends AbstractInterThreadPipe {
 			this.numWaits++;
 			Thread.yield();
 		}
+		// this.reportNewElement();
 		return true;
 	}