diff --git a/backup/util/helper/backup_cron_helper.class.php b/backup/util/helper/backup_cron_helper.class.php
index 5901a45..62e6162 100644
--- a/backup/util/helper/backup_cron_helper.class.php
+++ b/backup/util/helper/backup_cron_helper.class.php
@@ -277,7 +277,7 @@ abstract class backup_cron_automated_helper {
      */
     public static function calculate_next_automated_backup($timezone, $now) {
 
-        $result = -1;
+        $result = 0;
         $config = get_config('backup');
         $midnight = usergetmidnight($now, $timezone);
         $date = usergetdate($now, $timezone);
@@ -285,9 +285,6 @@ abstract class backup_cron_automated_helper {
         //Get number of days (from today) to execute backups
         $automateddays = substr($config->backup_auto_weekdays,$date['wday']) . $config->backup_auto_weekdays;
         $daysfromtoday = strpos($automateddays, "1");
-        if (empty($daysfromtoday)) {
-            $daysfromtoday = 1;
-        }
 
         //If some day has been found
         if ($daysfromtoday !== false) {
@@ -299,8 +296,8 @@ abstract class backup_cron_automated_helper {
         }
 
         //If that time is past, call the function recursively to obtain the next valid day
-        if ($result > 0 && $result < time()) {
-            $result = self::calculate_next_automated_backup($timezone, $result);
+        if ($result > 0 && $result < $now) {
+            $result = self::calculate_next_automated_backup($timezone, $result + 24*3600);
         }
 
         return $result;
@@ -409,7 +406,8 @@ abstract class backup_cron_automated_helper {
 
         $config = get_config('backup');
         $active = (int)$config->backup_auto_active;
-        if ($active === self::AUTO_BACKUP_DISABLED || ($rundirective == self::RUN_ON_SCHEDULE && $active === self::AUTO_BACKUP_MANUAL)) {
+        $weekdays = (string)$config->backup_auto_weekdays; // in case of automated backup also check that it is scheduled for at least one weekday
+        if ($active === self::AUTO_BACKUP_DISABLED || ($rundirective == self::RUN_ON_SCHEDULE && $active === self::AUTO_BACKUP_MANUAL) || strpos($weekdays, "1") === false) {
             return self::STATE_DISABLED;
         } else if (!empty($config->backup_auto_running)) {
             // Detect if the backup_auto_running semaphore is a valid one
