diff --git a/conf/quality-config/pmd-ruleset.xml b/conf/quality-config/pmd-ruleset.xml
index ac9ae0c92031974a30cdb3ce96021f7aa3fe899b..ebaa4801325daf8dbfebcfeebc764c0eb159efd5 100644
--- a/conf/quality-config/pmd-ruleset.xml
+++ b/conf/quality-config/pmd-ruleset.xml
@@ -64,6 +64,7 @@
 		<exclude name="AtLeastOneConstructor" />
 		<exclude name="AvoidUsingVolatile" />
 		<exclude name="CallSuperInConstructor" />
+		<exclude name="DefaultPackage" />
 	</rule>
 
 	<!-- UR means "undefined reference" which is already detected by the compiler. 
diff --git a/src/main/java/teetime/framework/ConfigurationContext.java b/src/main/java/teetime/framework/ConfigurationContext.java
index 9ca0a8ef4a65a2b321c62170fc12790420f11557..9e0f7e1a705afd56c0aa1bbef5efabd152049631 100644
--- a/src/main/java/teetime/framework/ConfigurationContext.java
+++ b/src/main/java/teetime/framework/ConfigurationContext.java
@@ -65,12 +65,15 @@ final class ConfigurationContext {
 				addThreadableStage(sourcePort.getOwningStage(), sourcePort.getOwningStage().getId());
 			}
 		}
-		if (sourcePort.getPipe() != null || targetPort.getPipe() != null) {
+
+		if (LOGGER.isWarnEnabled() && (sourcePort.getPipe() != null || targetPort.getPipe() != null)) {
 			LOGGER.warn("Overwriting existing pipe while connecting stages " +
 					sourcePort.getOwningStage().getId() + " and " + targetPort.getOwningStage().getId() + ".");
 		}
+
 		addChildContext(sourcePort.getOwningStage());
 		addChildContext(targetPort.getOwningStage());
+
 		new InstantiationPipe(sourcePort, targetPort, capacity);
 	}