diff --git a/interface/web/dashboard/dashboard.php b/interface/web/dashboard/dashboard.php
index f744f8d269bd4bca670356b082b37f9e84f614d9..daf23565189a4a0cf221b3318dcc8a41f552d578 100644
--- a/interface/web/dashboard/dashboard.php
+++ b/interface/web/dashboard/dashboard.php
@@ -94,11 +94,11 @@ $app->tpl->setVar('welcome_user', $welcome);
 $info = array();
 
 if(isset($_SESSION['show_info_msg'])) {
-    $info[] = array('info_msg' => $_SESSION['show_info_msg']);
+    $info[] = array('info_msg' => '<p>'.$_SESSION['show_info_msg'].'</p>');
     unset($_SESSION['show_info_msg']);
 }
 if(isset($_SESSION['show_error_msg'])) {
-    $app->tpl->setloop('error', array(array('error_msg' => $_SESSION['show_error_msg'])));
+    $app->tpl->setloop('error', array(array('error_msg' => '<p>'.$_SESSION['show_error_msg'].'</p>')));
     unset($_SESSION['show_error_msg']);
 }
 
diff --git a/interface/web/themes/default_64_navimg/ISPC_VERSION b/interface/web/themes/default_64_navimg/ISPC_VERSION
index 7da3c16870e856cce1a539d478294b4030dac60d..bb19ac367e61ef69398f09154456075f734e0d46 100644
--- a/interface/web/themes/default_64_navimg/ISPC_VERSION
+++ b/interface/web/themes/default_64_navimg/ISPC_VERSION
@@ -1 +1 @@
-3.0.5
\ No newline at end of file
+3.0.4.6
\ No newline at end of file
diff --git a/interface/web/themes/default_combobox/ISPC_VERSION b/interface/web/themes/default_combobox/ISPC_VERSION
index 7da3c16870e856cce1a539d478294b4030dac60d..bb19ac367e61ef69398f09154456075f734e0d46 100644
--- a/interface/web/themes/default_combobox/ISPC_VERSION
+++ b/interface/web/themes/default_combobox/ISPC_VERSION
@@ -1 +1 @@
-3.0.5
\ No newline at end of file
+3.0.4.6
\ No newline at end of file
diff --git a/interface/web/themes/default_no_navimg/ISPC_VERSION b/interface/web/themes/default_no_navimg/ISPC_VERSION
index 7da3c16870e856cce1a539d478294b4030dac60d..bb19ac367e61ef69398f09154456075f734e0d46 100644
--- a/interface/web/themes/default_no_navimg/ISPC_VERSION
+++ b/interface/web/themes/default_no_navimg/ISPC_VERSION
@@ -1 +1 @@
-3.0.5
\ No newline at end of file
+3.0.4.6
\ No newline at end of file
diff --git a/interface/web/tools/interface_settings.php b/interface/web/tools/interface_settings.php
index 1ec67c592c3ba00d0990cc30aecff8e44ddb13a0..0744c739902c19d65aa689585810220d381c39a4 100644
--- a/interface/web/tools/interface_settings.php
+++ b/interface/web/tools/interface_settings.php
@@ -49,7 +49,8 @@ $app->uses('tpl,tform,tform_actions');
 $app->load('tform_actions');
 
 class page_action extends tform_actions {
-	
+	var $_theme_changed = false;
+    
 	function onLoad() {
                 global $app, $conf, $tform_def_file;
 
@@ -80,6 +81,7 @@ class page_action extends tform_actions {
 		if(!in_array($this->dataRecord['startmodule'],$this->dataRecord['modules'])) {
 			$app->tform->errorMessage .= $app->tform->wordbook['startmodule_err'];
 		}
+        $this->updateSessionTheme();
 	}
         
 	function onInsert() {
@@ -94,8 +96,38 @@ class page_action extends tform_actions {
                 if(@is_array($this->dataRecord['modules']) && !in_array($this->dataRecord['startmodule'],$this->dataRecord['modules'])) {
 			$app->tform->errorMessage .= $app->tform->wordbook['startmodule_err'];
 		}
+        $this->updateSessionTheme();
 	}
+    
+    function updateSessionTheme() {
+        global $app, $conf;
+        
+        if($this->dataRecord['app_theme'] != 'default') {
+            $tmp_path = ISPC_THEMES_PATH."/".$this->dataRecord['app_theme'];
+            if(!@is_dir($tmp_path) || !@file_exists($tmp_path."/ISPC_VERSION") || trim(file_get_contents($tmp_path."/ISPC_VERSION")) != ISPC_APP_VERSION) {
+                // fall back to default theme if this one is not compatible with current ispc version
+                $this->dataRecord['app_theme'] = 'default';
+            }
+        }
+        if($this->dataRecord['app_theme'] != $_SESSION['s']['user']['theme']) $this->_theme_changed = true;
+        $_SESSION['s']['theme'] = $this->dataRecord['app_theme'];
+        $_SESSION['s']['user']['theme'] = $_SESSION['s']['theme'];
+        $_SESSION['s']['user']['app_theme'] = $_SESSION['s']['theme'];
+    }
 	
+    function onAfterInsert() {
+        $this->onAfterUpdate();
+    }
+    function onAfterUpdate() {
+        if($this->_theme_changed == true) {
+            // not the best way, but it works
+            header('Content-Type: text/html');
+            print '<script type="text/javascript">document.location.reload();</script>';
+            exit;
+        }
+        else parent::onShow();
+    }
+    
 	
 }