diff --git a/install/lib/install.lib.php b/install/lib/install.lib.php
index 501cf3b35765e41864d7a143a1e2a904bc342962..4d5fe875ec6390c444440cf32681d113330f334a 100644
--- a/install/lib/install.lib.php
+++ b/install/lib/install.lib.php
@@ -692,43 +692,6 @@ function is_installed($appname) {
 	}
 }
 
-/*
- * Compare ISPConfig version number.
- * return values:
- * -1 $current version is newer then $new version (downgrade)
- * 0 $current version = $new version
- * 1 $current version is older then new version (update)
-
-*/
-function compare_ispconfig_version($current, $new) {
-	if( $current == $new) {
-		return 0;
-	}
-
-	$p = explode('.', $current);
-	$tmp = '';
-	$tmp .= str_pad(intval($p[0]), 3, '0', STR_PAD_LEFT);
-	$tmp .= (isset($p[1]))?str_pad(intval($p[1]), 3, '0', STR_PAD_LEFT):'000';
-	$tmp .= (isset($p[2]))?str_pad(intval($p[2]), 3, '0', STR_PAD_LEFT):'000';
-	$tmp .= (isset($p[3]))?str_pad(intval($p[3]), 3, '0', STR_PAD_LEFT):'000';
-	$current = $tmp;
-
-	$p = explode('.', $new);
-	$tmp = '';
-	$tmp .= str_pad(intval($p[0]), 3, '0', STR_PAD_LEFT);
-	$tmp .= (isset($p[1]))?str_pad(intval($p[1]), 3, '0', STR_PAD_LEFT):'000';
-	$tmp .= (isset($p[2]))?str_pad(intval($p[2]), 3, '0', STR_PAD_LEFT):'000';
-	$tmp .= (isset($p[3]))?str_pad(intval($p[3]), 3, '0', STR_PAD_LEFT):'000';
-	$new = $tmp;
-
-	if($new > $current) {
-		return 1;
-	} else {
-		return -1;
-	}
-
-}
-
 /*
 * Get the port number of the ISPConfig controlpanel vhost
 */
diff --git a/install/lib/update.lib.php b/install/lib/update.lib.php
index bc0453f7f63df24fbe45fef5e219131f297c45ef..12231b2300bcd2471d8aaafd90b1f19e580a4ce9 100644
--- a/install/lib/update.lib.php
+++ b/install/lib/update.lib.php
@@ -153,8 +153,8 @@ function updateDbAndIni() {
 		$conf['nginx']['installed'] = false;
 	}
 
-	//* Do incremental DB updates only on installed ISPConfig versions > 3.0.3
-	if(compare_ispconfig_version('3.0.3', ISPC_APP_VERSION) >= 0) {
+	//* Do incremental DB updates only on installed ISPConfig versions >= 3.0.3
+	if(version_compare('3.0.3', ISPC_APP_VERSION, '<=')) {
 
 		swriteln($inst->lng('Starting incremental database update.'));
 
diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql
index 9c8f04e26363f627199f6c4c5575a9948847449b..2a9d96612ecfc6aa506c7aecd4e99bbdb107af60 100644
--- a/install/sql/ispconfig3.sql
+++ b/install/sql/ispconfig3.sql
@@ -2280,7 +2280,7 @@ INSERT INTO `sys_user` (`userid`, `sys_userid`, `sys_groupid`, `sys_perm_user`,
 -- Dumping data for table `sys_config`
 --
 
-INSERT INTO sys_config VALUES ('db','db_version','3.0.5.3');
+INSERT INTO sys_config VALUES ('db','db_version','3.0.5.4dev');
 INSERT INTO sys_config VALUES ('interface','session_timeout','0');
 
 SET FOREIGN_KEY_CHECKS = 1;
diff --git a/install/tpl/config.inc.php.master b/install/tpl/config.inc.php.master
index b217603e69b20cd7323a65de465f322f0a55014e..a1b55d91a3fe2e311a1656b36a181fe73c2d913e 100644
--- a/install/tpl/config.inc.php.master
+++ b/install/tpl/config.inc.php.master
@@ -56,7 +56,7 @@ $revision = str_replace(array('Revision:','$',' '), '', $svn_revision);
 
 //** Application
 define('ISPC_APP_TITLE', 'ISPConfig');
-define('ISPC_APP_VERSION', '3.0.5.3');
+define('ISPC_APP_VERSION', '3.0.5.4dev');
 define('DEVSYSTEM', 0);
 
 
diff --git a/interface/lib/config.inc.php b/interface/lib/config.inc.php
index a27ee16c5e2e72cf1280d9e47214dcf24a2916b5..12d4b48ba3cc92f2f0bfec7633866807fbf0ffdd 100644
--- a/interface/lib/config.inc.php
+++ b/interface/lib/config.inc.php
@@ -44,7 +44,7 @@ $revision = str_replace(array('Revision:', '$', ' '), '', $svn_revision);
 
 //** Application
 define('ISPC_APP_TITLE', 'ISPConfig');
-define('ISPC_APP_VERSION', '3.0.5.3');
+define('ISPC_APP_VERSION', '3.0.5.4dev');
 define('DEVSYSTEM', 0);
 
 
diff --git a/server/scripts/ispconfig_update.php b/server/scripts/ispconfig_update.php
index 6843e7bde28b1aee47b241fea8fbc691b67dee46..9bdf729e85883ba5181b34aed06cc008b2cd2b78 100644
--- a/server/scripts/ispconfig_update.php
+++ b/server/scripts/ispconfig_update.php
@@ -93,7 +93,7 @@ $method = simple_query('Select update method', array('stable', 'svn'), 'stable')
 if($method == 'stable') {
 	$new_version = @file_get_contents('http://www.ispconfig.org/downloads/ispconfig3_version.txt') or die('Unable to retrieve version file.');
 	$new_version = trim($new_version);
-	if($new_version != ISPC_APP_VERSION) {
+	if(version_compare($new_version, ISPC_APP_VERSION, '>') {
 		passthru('/usr/local/ispconfig/server/scripts/update_from_tgz.sh');
 		exit;
 	} else {