diff --git a/server/lib/app.inc.php b/server/lib/app.inc.php
index b6adb3a1027c40e0a18a47bf496f3def0835ffa0..940e0cae812342d4aa12e26bd095ddd22c00facb 100644
--- a/server/lib/app.inc.php
+++ b/server/lib/app.inc.php
@@ -354,6 +354,26 @@ class app {
 		$this->log($msg, 3);	// isn't this supposed to be error code 2? (gwyneth 20220315)
 		die($msg);
 	}
+
+	/**
+	 * Determin if the current process is running on the master or a slave server.
+	 *
+	 * @return boolean
+	 */
+	function running_on_masterserver() {
+
+		return $this->dbmaster == $this->db;
+	}
+
+	/**
+	 * Determin if the current process is running on the master or a slave server.
+	 *
+	 * @return boolean
+	 */
+	function running_on_slaveserver() {
+
+		return $this->dbmaster != $this->db;
+	}
 }
 
 /**
diff --git a/server/lib/classes/aps_installer.inc.php b/server/lib/classes/aps_installer.inc.php
index e50c601cecd7d6988c67a5d1667ccc48f4eb257b..a9271dd175e2fe79c67376c38175488bc4c9ed58 100644
--- a/server/lib/classes/aps_installer.inc.php
+++ b/server/lib/classes/aps_installer.inc.php
@@ -693,7 +693,7 @@ class ApsInstaller extends ApsBase
 		{
 			$app->db->query('DELETE FROM aps_instances WHERE id = ?', $task['instance_id']);
 			$app->db->query('DELETE FROM aps_instances_settings WHERE instance_id = ?', $task['instance_id']);
-			if ($app->dbmaster != $app->db) {
+			if (!$app->running_on_masterserver()) {
 				$app->dbmaster->query('DELETE FROM aps_instances WHERE id = ?', $task['instance_id']);
 				$app->dbmaster->query('DELETE FROM aps_instances_settings WHERE instance_id = ?', $task['instance_id']);
 			}
diff --git a/server/lib/classes/backup.inc.php b/server/lib/classes/backup.inc.php
index 57f264ec442a228311f83024e3515fccd4fa414b..a0c15129d3a5ef64e6b7b6a2c6e8d838426f7079 100644
--- a/server/lib/classes/backup.inc.php
+++ b/server/lib/classes/backup.inc.php
@@ -504,7 +504,7 @@ class backup
         if ($success) {
             $sql = "DELETE FROM web_backup WHERE server_id = ? AND parent_domain_id = ? AND filename = ?";
             $app->db->query($sql, $server_id, $domain_id, $filename);
-            if($app->db->dbHost != $app->dbmaster->dbHost)
+            if($app->running_on_slaveserver())
                 $app->dbmaster->query($sql, $server_id, $domain_id, $filename);
             $app->log($sql . ' - ' . json_encode([$server_id, $domain_id, $filename]), LOGLEVEL_DEBUG);
         }
@@ -1126,7 +1126,7 @@ class backup
         $password = NULL;
 
         $db_list = array($app->db);
-        if ($app->db->dbHost != $app->dbmaster->dbHost)
+        if ($app->running_on_slaveserver())
             array_push($db_list, $app->dbmaster);
 
         if ($backup_mode == "userzip" || $backup_mode == "rootgz") {
@@ -1256,7 +1256,7 @@ class backup
         }
 
         $db_list = array($app->db);
-        if ($app->db->dbHost != $app->dbmaster->dbHost)
+        if ($app->running_on_slaveserver())
             array_push($db_list, $app->dbmaster);
 
         // Cleanup web_backup entries for non-existent backup files
@@ -1776,7 +1776,7 @@ class backup
                             //* password is for `Encrypted` column informative purposes, on download password is obtained from web_domain settings
                             $password = $repos_password ? '*secret*' : '';
                             $app->db->query($sql, $server_id, $domain_id, 'mysql', $backup_mode, $backup_format_db, time(), $db_backup_archive, $archive_size, $password);
-                            if ($app->db->dbHost != $app->dbmaster->dbHost)
+                            if ($app->running_on_slaveserver())
                                 $app->dbmaster->query($sql, $server_id, $domain_id, 'mysql', $backup_mode, $backup_format_db, time(), $db_backup_archive, $archive_size, $password);
                             $success = true;
                         } else {
@@ -1832,7 +1832,7 @@ class backup
                             //Making compatible with previous versions of ISPConfig:
                             $sql_mode = ($backup_format_db == 'gzip') ? 'sqlgz' : ('sql' . $backup_format_db);
                             $app->db->query($sql, $server_id, $domain_id, 'mysql', $sql_mode, $backup_format_db, time(), $db_compressed_file, $file_size, $password);
-                            if ($app->db->dbHost != $app->dbmaster->dbHost)
+                            if ($app->running_on_slaveserver())
                                 $app->dbmaster->query($sql, $server_id, $domain_id, 'mysql', $sql_mode, $backup_format_db, time(), $db_compressed_file, $file_size, $password);
                             $success = true;
                         }
@@ -1982,7 +1982,7 @@ class backup
                 $sql = "INSERT INTO web_backup (server_id, parent_domain_id, backup_type, backup_mode, backup_format, tstamp, filename, filesize, backup_password) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)";
                 $backup_time = time();
                 $app->db->query($sql, $server_id, $web_id, 'web', $backup_mode, $backup_format_web, $backup_time, $web_backup_archive, $archive_size, $password);
-                if ($app->db->dbHost != $app->dbmaster->dbHost)
+                if ($app->running_on_slaveserver())
                     $app->dbmaster->query($sql, $server_id, $web_id, 'web', $backup_mode, $backup_format_web, $backup_time, $web_backup_archive, $archive_size, $password);
                 unset($archive_size);
                 $app->log('Backup of web files for domain ' . $web_domain['domain'] . ' completed successfully to archive ' . $full_archive_path, LOGLEVEL_DEBUG);
@@ -2004,7 +2004,7 @@ class backup
                     $file_size = filesize($full_filename);
                     $sql = "INSERT INTO web_backup (server_id, parent_domain_id, backup_type, backup_mode, backup_format, tstamp, filename, filesize, backup_password) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)";
                     $app->db->query($sql, $server_id, $web_id, 'web', $backup_mode, $backup_format_web, time(), $web_backup_file, $file_size, $password);
-                    if ($app->db->dbHost != $app->dbmaster->dbHost)
+                    if ($app->running_on_slaveserver())
                         $app->dbmaster->query($sql, $server_id, $web_id, 'web', $backup_mode, $backup_format_web, time(), $web_backup_file, $file_size, $password);
                     unset($file_size);
                     $app->log('Backup of web files for domain ' . $web_domain['domain'] . ' completed successfully to file ' . $full_filename, LOGLEVEL_DEBUG);
diff --git a/server/lib/classes/cron.d/200-logfiles.inc.php b/server/lib/classes/cron.d/200-logfiles.inc.php
index ef0bbb1201b0bf35a67d77e96fc6b3d4c1e1a408..b87798c29edd78237e74d8ffca585575ad6e9c56 100644
--- a/server/lib/classes/cron.d/200-logfiles.inc.php
+++ b/server/lib/classes/cron.d/200-logfiles.inc.php
@@ -226,7 +226,7 @@ class cronjob_logfiles extends cronjob {
 		// Cleanup logs in master database (only the "master-server")
 		//######################################################################################################
 
-		if ($app->dbmaster == $app->db) {
+		if ($app->running_on_masterserver()) {
 			/** 7 days */
 
 
diff --git a/server/lib/classes/cron.d/300-quota_notify.inc.php b/server/lib/classes/cron.d/300-quota_notify.inc.php
index 23fff13fc3a3a0ce0c1ed7b93861216abea4d374..8dd30b5a31564b6b452c844931b375c471f3819d 100644
--- a/server/lib/classes/cron.d/300-quota_notify.inc.php
+++ b/server/lib/classes/cron.d/300-quota_notify.inc.php
@@ -75,7 +75,7 @@ class cronjob_quota_notify extends cronjob {
 		// enforce traffic quota (run only on the "master-server")
 		//######################################################################################################
 
-		if ($app->dbmaster == $app->db) {
+		if ($app->running_on_masterserver()) {
 
 			$global_config = $app->getconf->get_global_config('mail');
 
@@ -159,7 +159,7 @@ class cronjob_quota_notify extends cronjob {
 		// send website quota warnings by email
 		//######################################################################################################
 
-		if ($app->dbmaster == $app->db) {
+		if ($app->running_on_masterserver()) {
 
 			$global_config = $app->getconf->get_global_config('mail');
 
@@ -315,7 +315,7 @@ class cronjob_quota_notify extends cronjob {
 		// send mail quota warnings by email
 		//######################################################################################################
 
-		if ($app->dbmaster == $app->db) {
+		if ($app->running_on_masterserver()) {
 
 			$global_config = $app->getconf->get_global_config('mail');
 			$mail_config = $app->getconf->get_server_config($conf['server_id'], 'mail');
@@ -453,7 +453,7 @@ class cronjob_quota_notify extends cronjob {
 		// send database quota warnings by email
 		//######################################################################################################
 
-		if ($app->dbmaster == $app->db) {
+		if ($app->running_on_masterserver()) {
 
 			$global_config = $app->getconf->get_global_config('mail');
 
diff --git a/server/lib/classes/cron.d/400-openvz.inc.php b/server/lib/classes/cron.d/400-openvz.inc.php
index c88e0e608f9fcd690937a8205a72abab845d9ece..cad8716605979925550d11f7a3178fc1d14b7641 100644
--- a/server/lib/classes/cron.d/400-openvz.inc.php
+++ b/server/lib/classes/cron.d/400-openvz.inc.php
@@ -54,7 +54,7 @@ class cronjob_openvz extends cronjob {
 		// deactivate virtual servers (run only on the "master-server")
 		//######################################################################################################
 
-		if ($app->dbmaster == $app->db) {
+		if ($app->running_on_masterserver()) {
 			//* Check which virtual machines have to be deactivated
 			$sql = "SELECT * FROM openvz_vm WHERE active = 'y' AND active_until_date IS NOT NULL AND active_until_date < CURDATE()";
 			$records = $app->db->queryAllRecords($sql);
diff --git a/server/lib/classes/cron.d/500-backup_mail.inc.php b/server/lib/classes/cron.d/500-backup_mail.inc.php
index 4dcb1994142065a7e8aed42036578c1a88229c29..92051fa4f228c511ccc9eb8e1069a6831a6ae19a 100644
--- a/server/lib/classes/cron.d/500-backup_mail.inc.php
+++ b/server/lib/classes/cron.d/500-backup_mail.inc.php
@@ -184,7 +184,7 @@ class cronjob_backup_mail extends cronjob {
 							$filesize = filesize($mail_backup_dir.'/'.$mail_backup_file);
 							$sql = "INSERT INTO mail_backup (server_id, parent_domain_id, mailuser_id, backup_mode, tstamp, filename, filesize) VALUES (?, ?, ?, ?, ?, ?, ?)";
 							$app->db->query($sql, $conf['server_id'], $domain_rec['domain_id'], $rec['mailuser_id'], $backup_mode, time(), $mail_backup_file, $filesize);	
-							if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $domain_rec['domain_id'], $rec['mailuser_id'], $backup_mode, time(), $mail_backup_file, $filesize);
+							if($app->running_on_slaveserver()) $app->dbmaster->query($sql, $conf['server_id'], $domain_rec['domain_id'], $rec['mailuser_id'], $backup_mode, time(), $mail_backup_file, $filesize);
 							unset($filesize);
 						} else {
 							/* Backup failed - remove archive */
@@ -213,7 +213,7 @@ class cronjob_backup_mail extends cronjob {
 								unlink($mail_backup_dir.'/'.$files[$n]);
 								$sql = "DELETE FROM mail_backup WHERE server_id = ? AND parent_domain_id = ? AND filename = ?";
 								$app->db->query($sql, $conf['server_id'], $domain_rec['domain_id'], $files[$n]);
-								if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $domain_rec['domain_id'], $files[$n]);
+								if($app->running_on_slaveserver()) $app->dbmaster->query($sql, $conf['server_id'], $domain_rec['domain_id'], $files[$n]);
 							}
 						}
 						unset($files);
@@ -241,7 +241,7 @@ class cronjob_backup_mail extends cronjob {
 						/* remove backups from db */
 						$sql = "DELETE FROM mail_backup WHERE server_id = ? AND parent_domain_id = ? AND mailuser_id = ?";
 						$app->db->query($sql, $conf['server_id'], $domain_rec['domain_id'], $rec['mailuser_id']);
-						if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $domain_rec['domain_id'], $rec['mailuser_id']);
+						if($app->running_on_slaveserver()) $app->dbmaster->query($sql, $conf['server_id'], $domain_rec['domain_id'], $rec['mailuser_id']);
 
 					}
 				}
@@ -254,7 +254,7 @@ class cronjob_backup_mail extends cronjob {
 						if(!is_file($mail_backup_dir.'/'.$backup['filename'])){
 							$sql = "DELETE FROM mail_backup WHERE server_id = ? AND parent_domain_id = ? AND filename = ?";
 							$app->db->query($sql, $conf['server_id'], $backup['parent_domain_id'], $backup['filename']);
-							if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $backup['parent_domain_id'], $backup['filename']);
+							if($app->running_on_slaveserver()) $app->dbmaster->query($sql, $conf['server_id'], $backup['parent_domain_id'], $backup['filename']);
 						}
 					}
 				}
diff --git a/server/lib/classes/cron.d/550-bind_dnssec.inc.php b/server/lib/classes/cron.d/550-bind_dnssec.inc.php
index b066cb816ef98de4164efd9f70411fcb8156848e..6c85902bace83bff85197d25f9889f163ce9eef9 100644
--- a/server/lib/classes/cron.d/550-bind_dnssec.inc.php
+++ b/server/lib/classes/cron.d/550-bind_dnssec.inc.php
@@ -78,7 +78,7 @@ class cronjob_bind_dnssec extends cronjob {
 		global $app, $conf;
 		
 		//* job should only run on ispc master
-		if($app->db->dbHost != $app->dbmaster->dbHost) return;
+		if($app->running_on_slaveserver()) return;
 
 		//* Load libraries
 		$app->uses("getconf,tpl");
diff --git a/server/lib/classes/modules.inc.php b/server/lib/classes/modules.inc.php
index 9b92199fd80e59b1e52fb43dd2cd334d11af4598..b3aae3acf984e61f0ea5e4bf136704bdd89beb0e 100644
--- a/server/lib/classes/modules.inc.php
+++ b/server/lib/classes/modules.inc.php
@@ -100,7 +100,7 @@ class modules {
 		global $app, $conf;
 
 		//* If its a multiserver setup
-		if($app->db->dbHost != $app->dbmaster->dbHost || ($app->db->dbHost == $app->dbmaster->dbHost && $app->db->dbName != $app->dbmaster->dbName)) {
+		if($app->running_on_slaveserver() || ($app->running_on_masterserver() && $app->db->dbName != $app->dbmaster->dbName)) {
 			if($conf['mirror_server_id'] > 0) {
 				$sql = "SELECT * FROM sys_datalog WHERE datalog_id > ? AND (server_id = ? OR server_id = ? OR server_id = 0) ORDER BY datalog_id LIMIT 0,1000";
 			} else {
diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index dc0df3005cac6c65b4b99c56b04542b2c243b835..ed86d4ce7f27e2fef15482067b81c1d1d2bd2698 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -2411,7 +2411,7 @@ class apache2_plugin {
 						//* cleanup database
 						$sql = "DELETE FROM web_backup WHERE server_id = ? AND parent_domain_id = ? AND filename LIKE ?";
 						$app->db->query($sql, $conf['server_id'], $data_old['domain_id'], "web".$data_old['domain_id']."_%");
-						if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $data_old['domain_id'], "web".$data_old['domain_id']."_%");
+						if($app->running_on_slaveserver()) $app->dbmaster->query($sql, $conf['server_id'], $data_old['domain_id'], "web".$data_old['domain_id']."_%");
 
 						$app->log('Deleted the web backup files', LOGLEVEL_DEBUG);
 					}
diff --git a/server/plugins-available/backup_plugin.inc.php b/server/plugins-available/backup_plugin.inc.php
index 8ba345b4c46315939be690a252485f1537997bc9..0c407f0243518a9042d9f48a7dd8ca0e526dd419 100644
--- a/server/plugins-available/backup_plugin.inc.php
+++ b/server/plugins-available/backup_plugin.inc.php
@@ -288,7 +288,7 @@ class backup_plugin {
 						unlink($mail_backup_file);
 						$sql = "DELETE FROM mail_backup WHERE server_id = ? AND parent_domain_id = ? AND filename = ?";
 						$app->db->query($sql, $conf['server_id'], $mail_backup['parent_domain_id'], $mail_backup['filename']);
-						if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $mail_backup['parent_domain_id'], $mail_backup['filename']);
+						if($app->running_on_slaveserver()) $app->dbmaster->query($sql, $conf['server_id'], $mail_backup['parent_domain_id'], $mail_backup['filename']);
 						$app->log('unlink '.$backup_dir.'/'.$mail_backup['filename'], LOGLEVEL_DEBUG);
 					}
 				}
diff --git a/server/plugins-available/bind_plugin.inc.php b/server/plugins-available/bind_plugin.inc.php
index 2a5ccca269472bdce970bfda505ef7e3bcfcadee..5beeed2c5639a1de07a5aa89d643cd711c9a0281 100644
--- a/server/plugins-available/bind_plugin.inc.php
+++ b/server/plugins-available/bind_plugin.inc.php
@@ -189,7 +189,7 @@ class bind_plugin {
 			}
 		}
 
-		if ($app->dbmaster !== $app->db) $app->dbmaster->query('UPDATE dns_soa SET dnssec_info=?, dnssec_initialized=\'Y\', dnssec_last_signed=? WHERE id=?', $dnssecdata, intval(time()), intval($data['new']['id']));
+		if ($app->running_on_slaveserver()) $app->dbmaster->query('UPDATE dns_soa SET dnssec_info=?, dnssec_initialized=\'Y\', dnssec_last_signed=? WHERE id=?', $dnssecdata, intval(time()), intval($data['new']['id']));
 		$app->db->query('UPDATE dns_soa SET dnssec_info=?, dnssec_initialized=\'Y\', dnssec_last_signed=? WHERE id=?', $dnssecdata, intval(time()), intval($data['new']['id']));
 	}
 
@@ -244,7 +244,7 @@ class bind_plugin {
 		unlink($dns_config['bind_zonefiles_dir'].'/'.$dns_config['bind_zonefiles_masterprefix'].$domain.'.signed');
 		unlink($dns_config['bind_keyfiles_dir'].'/dsset-'.$domain.'.');
 
-		if ($app->dbmaster !== $app->db) $app->dbmaster->query('UPDATE dns_soa SET dnssec_info=\'\', dnssec_initialized=\'N\' WHERE id=?', intval($data['new']['id']));
+		if ($app->running_on_slaveserver()) $app->dbmaster->query('UPDATE dns_soa SET dnssec_info=\'\', dnssec_initialized=\'N\' WHERE id=?', intval($data['new']['id']));
 		$app->db->query('UPDATE dns_soa SET dnssec_info=\'\', dnssec_initialized=\'N\' WHERE id=?', intval($data['new']['id']));
 	}
 
diff --git a/server/plugins-available/mail_plugin.inc.php b/server/plugins-available/mail_plugin.inc.php
index 08439fe79889d980dc124e59dd24f8ae0960e07d..b8ffd40fbfb81d2407f1058f066df436834f1a56 100644
--- a/server/plugins-available/mail_plugin.inc.php
+++ b/server/plugins-available/mail_plugin.inc.php
@@ -466,7 +466,7 @@ class mail_plugin {
 					//* cleanup database
 					$sql = "DELETE FROM mail_backup WHERE server_id = ? AND parent_domain_id = ? AND mailuser_id = ?";
 					$app->db->query($sql, $conf['server_id'], $domain_rec['domain_id'], $data['old']['mailuser_id']);
-					if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $domain_rec['domain_id'], $data['old']['mailuser_id']);
+					if($app->running_on_slaveserver()) $app->dbmaster->query($sql, $conf['server_id'], $domain_rec['domain_id'], $data['old']['mailuser_id']);
 
 					$app->log('Deleted the mail backups for: '.$data['old']['email'], LOGLEVEL_DEBUG);
 				}
@@ -524,7 +524,7 @@ class mail_plugin {
 				//* cleanup database
 				$sql = "DELETE FROM mail_backup WHERE server_id = ? AND parent_domain_id = ?";
 				$app->db->query($sql, $conf['server_id'], $data['old']['domain_id']);
-				if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $domain_rec['domain_id']);
+				if($app->running_on_slaveserver()) $app->dbmaster->query($sql, $conf['server_id'], $domain_rec['domain_id']);
 
 				$app->log('Deleted the mail backup directory: '.$mail_backup_dir, LOGLEVEL_DEBUG);
 			}
diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php
index 78144e7bfbfe904d5d1e69bfea8043a5761a8119..6bc5a5556c160c59c46e14beab1038cf552d2db4 100644
--- a/server/plugins-available/nginx_plugin.inc.php
+++ b/server/plugins-available/nginx_plugin.inc.php
@@ -2398,7 +2398,7 @@ class nginx_plugin {
 						//* cleanup database
 						$sql = "DELETE FROM web_backup WHERE server_id = ? AND parent_domain_id = ? AND filename LIKE ?";
 						$app->db->query($sql, $conf['server_id'], $data_old['domain_id'], "web".$data_old['domain_id']."_%");
-						if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $data_old['domain_id'], "web".$data_old['domain_id']."_%");
+						if($app->running_on_slaveserver()) $app->dbmaster->query($sql, $conf['server_id'], $data_old['domain_id'], "web".$data_old['domain_id']."_%");
 
 						$app->log('Deleted the web backup files', LOGLEVEL_DEBUG);
 					}
diff --git a/server/plugins-available/powerdns_plugin.inc.php b/server/plugins-available/powerdns_plugin.inc.php
index 82240f106dd157ffac5cff394752d787d94b4276..456fd81162607e9cb8d17c11e64e3841424dce71 100644
--- a/server/plugins-available/powerdns_plugin.inc.php
+++ b/server/plugins-available/powerdns_plugin.inc.php
@@ -546,7 +546,7 @@ class powerdns_plugin {
 		$dnssec_info = array_merge($this->format_dnssec_pubkeys($pubkeys), array('', '== Raw log ============================'), $log);
 		$dnssec_info = implode("\r\n", $dnssec_info);
 
-		if ($app->dbmaster !== $app->db) {
+		if ($app->running_on_slaveserver()) {
 			$app->dbmaster->query('UPDATE dns_soa SET dnssec_info=?, dnssec_initialized=? WHERE id=?', $dnssec_info, 'Y', intval($data['new']['id']));
 		}
 		$app->db->query('UPDATE dns_soa SET dnssec_info=?, dnssec_initialized=? WHERE id=?', $dnssec_info, 'Y', intval($data['new']['id']));
@@ -649,7 +649,7 @@ class powerdns_plugin {
 		$log[] = sprintf("\r\n%s %s", date('c'), 'Running disable-dnssec command...');
 		exec($cmd_disable_dnssec, $log);
 
-		if ($app->dbmaster !== $app->db) {
+		if ($app->running_on_slaveserver()) {
 			$app->dbmaster->query('UPDATE dns_soa SET dnssec_initialized=? WHERE id=?', 'N', intval($data['new']['id']));
 		}
 		$app->db->query('UPDATE dns_soa SET dnssec_initialized=? WHERE id=?', 'N', intval($data['new']['id']));
@@ -680,7 +680,7 @@ class powerdns_plugin {
 		$dnssec_info = array_merge(array('== Raw log ============================'), $log);
 		$dnssec_info = implode("\r\n", $dnssec_info);
 
-		if ($app->dbmaster !== $app->db) {
+		if ($app->running_on_slaveserver()) {
 			$app->dbmaster->query('UPDATE dns_soa SET dnssec_info=?, dnssec_initialized=? WHERE id=?', $dnssec_info, 'N', intval($data['new']['id']));
 		}
 		$app->db->query('UPDATE dns_soa SET dnssec_info=?, dnssec_initialized=? WHERE id=?', $dnssec_info, 'N', intval($data['new']['id']));