diff --git a/src/main/java/org/olat/upgrade/OLATUpgrade.java b/src/main/java/org/olat/upgrade/OLATUpgrade.java
index 89b0d76b8443b5fa8db1896d64a6a80bf971c84e..fbc3d0ea7d8671a1d7fcec598f15cd18516bb769 100644
--- a/src/main/java/org/olat/upgrade/OLATUpgrade.java
+++ b/src/main/java/org/olat/upgrade/OLATUpgrade.java
@@ -21,10 +21,11 @@
 
 package org.olat.upgrade;
 
+import javax.sql.DataSource;
+
 import org.olat.core.logging.OLog;
 import org.olat.core.logging.Tracing;
 import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.datasource.DriverManagerDataSource;
 
 
 /**
@@ -91,7 +92,7 @@ public abstract class OLATUpgrade {
 	 * @param query
 	 * @param dataSource
 	 */
-	public void executePlainSQLDBStatement(String query, DriverManagerDataSource dataSource) {
+	public void executePlainSQLDBStatement(String query, DataSource dataSource) {
     JdbcTemplate template = new JdbcTemplate(dataSource);
     template.update(query);
 	}
diff --git a/src/main/java/org/olat/upgrade/UpgradeManager.java b/src/main/java/org/olat/upgrade/UpgradeManager.java
index 43a93e51fc20220d5bad34fa4e5f24e835eefa7f..6be10992574e877c6b7269068d5db144443b2ce0 100644
--- a/src/main/java/org/olat/upgrade/UpgradeManager.java
+++ b/src/main/java/org/olat/upgrade/UpgradeManager.java
@@ -5,6 +5,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import javax.sql.DataSource;
+
 import org.olat.core.commons.persistence.DBFactory;
 import org.olat.core.configuration.Initializable;
 import org.olat.core.gui.control.Event;
@@ -15,7 +17,6 @@ import org.olat.core.util.event.FrameworkStartedEvent;
 import org.olat.core.util.event.FrameworkStartupEventChannel;
 import org.olat.core.util.event.GenericEventListener;
 import org.olat.core.util.xml.XStreamHelper;
-import org.springframework.jdbc.datasource.DriverManagerDataSource;
 
 /**
  * 
@@ -39,7 +40,7 @@ public abstract class UpgradeManager extends BasicManager implements Initializab
 	List<OLATUpgrade> upgrades;
 	Map<String, UpgradeHistoryData> upgradesHistories;
 	private UpgradesDefinitions upgradesDefinitions;
-	protected DriverManagerDataSource dataSource;
+	protected DataSource dataSource;
 	private boolean needsUpgrade = true;
 	private boolean autoUpgradeDatabase = true;
 	
@@ -47,11 +48,11 @@ public abstract class UpgradeManager extends BasicManager implements Initializab
    * [used by spring]
    * @param dataSource
    */
-  public void setDataSource (DriverManagerDataSource dataSource) {
+  public void setDataSource (DataSource dataSource) {
           this.dataSource = dataSource;
   }
 
-  public DriverManagerDataSource getDataSource() {
+  public DataSource getDataSource() {
           return dataSource;
   }
 
diff --git a/src/main/java/org/olat/upgrade/UpgradeManagerImpl.java b/src/main/java/org/olat/upgrade/UpgradeManagerImpl.java
index f7368784a749314c9328d99a704aa9cae714be5f..00393310c9cf5a1a83a15c0fb126f8752eb75fbf 100644
--- a/src/main/java/org/olat/upgrade/UpgradeManagerImpl.java
+++ b/src/main/java/org/olat/upgrade/UpgradeManagerImpl.java
@@ -45,6 +45,8 @@ import org.springframework.core.io.Resource;
  */
 public class UpgradeManagerImpl extends UpgradeManager {
 	
+	private String dbVendor;
+	
 	/**
 	 * used by spring
 	 */
@@ -52,6 +54,14 @@ public class UpgradeManagerImpl extends UpgradeManager {
 		//
 	}
 	
+	/**
+	 * [user by Spring]
+	 * @param dbVendor
+	 */
+	public void setDbVendor(String dbVendor) {
+		this.dbVendor = dbVendor;
+	}
+
 	/**
 	 * Execute the pre system init code of all upgrades in the order as they were configured
 	 * in the configuration file
@@ -101,9 +111,9 @@ public class UpgradeManagerImpl extends UpgradeManager {
 	public void runAlterDbStatements() {
 		String dialect = "";
 		//only run upgrades on mysql or postgresql
-		if (dataSource.getUrl().contains("mysql")) dialect = "mysql";
-		else if (dataSource.getUrl().contains("postgresql")) dialect = "postgresql";
-		else if (dataSource.getUrl().contains("hsqldb")) return;
+		if (dbVendor.contains("mysql")) dialect = "mysql";
+		else if (dbVendor.contains("postgresql")) dialect = "postgresql";
+		else if (dbVendor.contains("hsqldb")) return;
 		else return;
 			
 		Statement statement = null;
diff --git a/src/main/java/org/olat/upgrade/_spring/upgradeContext.xml b/src/main/java/org/olat/upgrade/_spring/upgradeContext.xml
index 480e704b0ac751706bd764736ba900d301dbc9a7..404ca62156d5742ee39f5204fdb2662d4926004d 100644
--- a/src/main/java/org/olat/upgrade/_spring/upgradeContext.xml
+++ b/src/main/java/org/olat/upgrade/_spring/upgradeContext.xml
@@ -14,6 +14,7 @@
 <context:component-scan base-package="org.olat.upgrade" />
 
  	<bean id="olatUpgradeManager.enabled" class="org.olat.upgrade.UpgradeManagerImpl" lazy-init="true"  init-method="init" depends-on="folderModule">
+ 		<property name="dbVendor" value="${db.vendor}"/>
 		<property name="upgradesDefinitions" ref="olatupgrades"/>
 		<property name="dataSource" ref="${db.vendor}DataSource"/>
 		<property name="autoUpgradeDatabase" value="${auto.upgrade.database}" />