diff --git a/src/main/java/teetime/framework/AbstractInterThreadPipe.java b/src/main/java/teetime/framework/AbstractInterThreadPipe.java
index d359cf921e5c73cb5a704666ee2e81eeda5c0889..0e7513c9a558221365f95088370021b4237f1910 100644
--- a/src/main/java/teetime/framework/AbstractInterThreadPipe.java
+++ b/src/main/java/teetime/framework/AbstractInterThreadPipe.java
@@ -26,7 +26,7 @@ public abstract class AbstractInterThreadPipe extends AbstractPipe {
 		this.signalQueue.offer(signal);
 
 		Thread owningThread = cachedTargetStage.getOwningThread();
-		if (owningThread == null) {
+		if (owningThread == null && LOGGER.isWarnEnabled()) {
 			LOGGER.warn("owningThread of " + cachedTargetStage + " is null.");
 		}
 		if (null != owningThread && isThreadWaiting(owningThread)) { // FIXME remove the null check for performance