diff --git a/dbmigration/source/java/ch/systemsx/cisd/dbmigration/BasicDataSourceFactory.java b/dbmigration/source/java/ch/systemsx/cisd/dbmigration/BasicDataSourceFactory.java
index 45481aa407095fb4a3bb337f70b7f363143ae4cd..016786e6ace9f51b6d1fec36c4e1cca1744b1adb 100644
--- a/dbmigration/source/java/ch/systemsx/cisd/dbmigration/BasicDataSourceFactory.java
+++ b/dbmigration/source/java/ch/systemsx/cisd/dbmigration/BasicDataSourceFactory.java
@@ -49,6 +49,10 @@ public class BasicDataSourceFactory implements IDataSourceFactory
 
     private int activeNumConnectionsLogThreshold = DEFAULT_ACTIVE_NUM_CONNECTIONS_LOG_THRESHOLD;
     
+    private boolean activeNumConnectionLogThresholdIsDefault = true;
+    
+    private boolean maxIdleIsDefault = true;
+    
     private boolean logStackTraceOnConnectionLogging = false;
 
     //
@@ -96,6 +100,7 @@ public class BasicDataSourceFactory implements IDataSourceFactory
     public void setMaxIdle(int maxIdle)
     {
         this.maxIdle = maxIdle;
+        this.maxIdleIsDefault = false;
     }
 
     @Override
@@ -108,6 +113,14 @@ public class BasicDataSourceFactory implements IDataSourceFactory
     public void setMaxActive(int maxActive)
     {
         this.maxActive = maxActive;
+        if (activeNumConnectionLogThresholdIsDefault)
+        {
+            this.activeNumConnectionsLogThreshold = (int) (0.8 * maxActive);
+        }
+        if (maxIdleIsDefault)
+        {
+            this.maxIdle = maxActive;
+        }
     }
 
     @Override
@@ -132,6 +145,7 @@ public class BasicDataSourceFactory implements IDataSourceFactory
     public void setActiveNumConnectionsLogThreshold(int activeConnectionsLogThreshold)
     {
         this.activeNumConnectionsLogThreshold = activeConnectionsLogThreshold;
+        this.activeNumConnectionLogThresholdIsDefault = false;
     }
 
     @Override