diff --git a/default-config/src/test/java/org/apache/directory/server/config/ConfigPartitionReaderTest.java b/default-config/src/test/java/org/apache/directory/server/config/ConfigPartitionReaderTest.java
index 056a505..dce24bc 100644
--- a/default-config/src/test/java/org/apache/directory/server/config/ConfigPartitionReaderTest.java
+++ b/default-config/src/test/java/org/apache/directory/server/config/ConfigPartitionReaderTest.java
@@ -32,6 +32,7 @@
 import org.apache.directory.server.core.partition.ldif.LdifPartition;
 import org.apache.directory.server.core.schema.SchemaPartition;
 import org.apache.directory.server.ldap.LdapServer;
+import org.apache.directory.server.protocol.shared.transport.Transport;
 import org.apache.directory.shared.ldap.schema.SchemaManager;
 import org.apache.directory.shared.ldap.schema.ldif.extractor.SchemaLdifExtractor;
 import org.apache.directory.shared.ldap.schema.ldif.extractor.impl.DefaultSchemaLdifExtractor;
@@ -39,6 +40,7 @@
 import org.apache.directory.shared.ldap.schema.manager.impl.DefaultSchemaManager;
 import org.apache.directory.shared.ldap.schema.registries.SchemaLoader;
 import org.apache.directory.shared.ldap.util.ExceptionUtils;
+import org.apache.mina.util.AvailablePortFinder;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -122,6 +124,18 @@
         server = cpReader.getLdapServer();
         server.setDirectoryService( dirService );
 
+        // this is a hack to use a different port than the one
+        // configured in the actual configuration data
+        // in case the configured port is already in use during the test run
+        Transport[] transports = server.getTransports();
+        for( Transport t : transports )
+        {
+            int port = t.getPort();
+            port = AvailablePortFinder.getNextAvailable( port );
+            t.setPort( port );
+            t.init();
+        }
+
         server.start();
     }
 
