diff --git a/CHANGELOG b/CHANGELOG
index 710eb2f066ffa2eff4ad0d5b2426aaa7fa715282..035de1d969ec9da564f07e79a39241753c973bf3 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,9 +2,10 @@ minerva (14.0.0~alpha.0) unstable; urgency=low
   * Feature: log4j is replaced with log4j2 logging mechanism (#291)
   * Feature: database installed via debian package is done via dbconfig-commons 
     (#469)
+  * Feature: Replaced connection pool manager C3P0 with better maintained Hikari (#564)
   * Feature removal: BioCompendium annotator removed (#32)
 
- -- Piotr Gawron <piotr.gawron@uni.lu>  Thu, 16 May 2019 15:00:00 +0200
+ -- Sascha Herzinger <sascha.herzinger@uni.lu>  Wed, 22 May 2019 10:30:00 +0200
 
 minerva (13.1.0~alpha.0) unstable; urgency=low
   * Feature: annotators are more flexible - you can define set of input and
diff --git a/persist/pom.xml b/persist/pom.xml
index 1cd475a7c2fc433bcf38725a17f8eb30ce260b5b..65060bdc1202e34adaffc9324194582d2609a835 100644
--- a/persist/pom.xml
+++ b/persist/pom.xml
@@ -158,15 +158,23 @@
 			<version>${postgresql-jdbc.version}</version>
 		</dependency>
 
-		<!--<dependency>-->
-			<!--<groupId>com.zaxxer</groupId>-->
-			<!--<artifactId>HikariCP</artifactId>-->
-			<!--<version>${hikari.version}</version>-->
-		<!--</dependency>-->
-		<dependency>
-			<groupId>c3p0</groupId>
-			<artifactId>c3p0</artifactId>
-			<version>${c3p0.version}</version>
+		<dependency>
+			<groupId>com.zaxxer</groupId>
+			<artifactId>HikariCP</artifactId>
+			<version>${hikari.version}</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.slf4j</groupId>
+			<artifactId>slf4j-api</artifactId>
+			<version>${slf4jVersion}</version>
+			<scope>compile</scope>
+		</dependency>
+
+		<dependency>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-slf4j-impl</artifactId>
+			<version>${log4j-slf4jVersion}</version>
 		</dependency>
 
 		<dependency>
diff --git a/persist/src/main/java/lcsb/mapviewer/persist/SpringPersistConfig.java b/persist/src/main/java/lcsb/mapviewer/persist/SpringPersistConfig.java
index a9149c5cbca5b80095b42747c29739be16cb3cf0..6f41100fd89646799417b43959ef947b504cbdd6 100644
--- a/persist/src/main/java/lcsb/mapviewer/persist/SpringPersistConfig.java
+++ b/persist/src/main/java/lcsb/mapviewer/persist/SpringPersistConfig.java
@@ -1,10 +1,6 @@
 package lcsb.mapviewer.persist;
 
-import java.beans.PropertyVetoException;
-import java.util.Properties;
-
-import javax.sql.DataSource;
-
+import com.zaxxer.hikari.HikariDataSource;
 import org.hibernate.SessionFactory;
 import org.hibernate.cfg.Environment;
 import org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy;
@@ -19,7 +15,8 @@ import org.springframework.security.crypto.password.MessageDigestPasswordEncoder
 import org.springframework.security.crypto.password.PasswordEncoder;
 import org.springframework.transaction.annotation.EnableTransactionManagement;
 
-import com.mchange.v2.c3p0.ComboPooledDataSource;
+import javax.sql.DataSource;
+import java.util.Properties;
 
 @Configuration
 @EnableTransactionManagement
@@ -31,29 +28,16 @@ public class SpringPersistConfig {
         return new ConfigurationHolder();
     }
 
-//  @Bean
-//  public HikariDataSource dataSource(ConfigurationHolder config) {
-//    HikariDataSource dataSource = new HikariDataSource();
-//    dataSource.setDriverClassName("org.postgresql.Driver");
-//    dataSource.setJdbcUrl(config.getDbUri());
-//    dataSource.setUsername(config.getDbUsername());
-//    dataSource.setPassword(config.getDbPassword());
-//    dataSource.setIdleTimeout(30000);
-//    dataSource.setMaximumPoolSize(90);
-//    dataSource.setConnectionTestQuery("select 1");
-//    return dataSource;
-//  }
-
     @Bean(destroyMethod = "close")
-    public ComboPooledDataSource dataSource(ConfigurationHolder config) throws PropertyVetoException {
-        ComboPooledDataSource dataSource = new ComboPooledDataSource();
-        dataSource.setDriverClass("org.postgresql.Driver");
+    public HikariDataSource dataSource(ConfigurationHolder config) {
+        HikariDataSource dataSource = new HikariDataSource();
+        dataSource.setDriverClassName("org.postgresql.Driver");
         dataSource.setJdbcUrl(config.getDbUri());
-        dataSource.setUser(config.getDbUsername());
+        dataSource.setUsername(config.getDbUsername());
         dataSource.setPassword(config.getDbPassword());
-        dataSource.setMinPoolSize(5);
-        dataSource.setMaxPoolSize(90);
-        dataSource.setMaxStatements(5);
+        dataSource.setIdleTimeout(30000);
+        dataSource.setMaximumPoolSize(10);
+        dataSource.setConnectionTestQuery("select 1");
         return dataSource;
     }
 
diff --git a/pom.xml b/pom.xml
index b120da1a7ab3beb8a43340be82601719e2f588fe..cde479fb9efcf05792c3f28c0a85b1df756d68fa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -67,8 +67,9 @@
 
 		<postgresql-jdbc.version>42.2.5</postgresql-jdbc.version>
 
-		<hikari.version>3.2.0</hikari.version>
-		<c3p0.version>0.9.1.2</c3p0.version>
+		<hikari.version>3.3.1</hikari.version>
+		<slf4jVersion>1.7.25</slf4jVersion>
+		<log4j-slf4jVersion>2.11.2</log4j-slf4jVersion>
 
 		<cglib.version>3.2.8</cglib.version>