diff --git a/server/mods-available/monitor_core_module.inc.php b/server/mods-available/monitor_core_module.inc.php
index beecd8ab41efce3ee28c54a1939c7401e257a2cf..c6518eef60698acd0212e9774ac7dec9b9ac0fc9 100644
--- a/server/mods-available/monitor_core_module.inc.php
+++ b/server/mods-available/monitor_core_module.inc.php
@@ -605,8 +605,8 @@ class monitor_core_module {
         $type = 'raid_state';
 
         /* This monitoring is only available if mdadm is installed */
-        $location = shell_exec('which mdadm');
-        if($location != ''){
+        $location = system('which mdadm', $retval);
+        if($retval === 0){
             /*
              * Fetch the output
              */
@@ -709,8 +709,8 @@ class monitor_core_module {
         $type = 'rkhunter';
 
         /* This monitoring is only available if rkhunter is installed */
-        $location = shell_exec('which rkhunter');
-        if($location != ''){
+        $location = system('which rkhunter', $retval);
+        if($retval === 0){
             /*
              * Fetch the output
              */
@@ -763,9 +763,9 @@ class monitor_core_module {
         $type = 'log_fail2ban';
 
         /* This monitoring is only available if fail2ban is installed */
-        $location = shell_exec('which fail2ban-client'); // Debian & Ubuntu
-		if($location == '') $location = shell_exec('which fail2ban'); // CentOS & Fedora
-        if($location != ''){
+        $location = system('which fail2ban-client', $retval); // Debian & Ubuntu
+		if($retval !== 0) $location = system('which fail2ban', $retval); // CentOS & Fedora
+        if($retval === 0){
 			/*  Get the data of the log */
 			$data = $this->_getLogData($type);