diff --git a/backup/backuplib.php b/backup/backuplib.php
index f115d53..da3ab7f 100644
--- a/backup/backuplib.php
+++ b/backup/backuplib.php
@@ -2274,8 +2274,10 @@
                     if (!empty($object->backup)) {
                         $statusm = $onemodbackup($bf,$preferences,$instance);
                         if (!$statusm) {
+                            $errorstr = 'backup of '.$module.'-'.$object->name.' failed.'; 
+                            backup_add_to_log(time(),$preferences->backup_course,$errorstr,'manual');
                             if (!defined('BACKUP_SILENTLY')) {
-                                notify('backup of '.$module.'-'.$object->name.' failed.');
+                                notify($errorstr);
                             }
                             $status = false;
                         }
@@ -2922,12 +2924,10 @@
         }
         $status = backup_delete_old_data();
         if (!$status) {
+            $errorstr = "An error occurred deleting old backup data";
+            backup_add_to_log(time(),$preferences->backup_course,$errorstr,'manual');
             if (!defined('BACKUP_SILENTLY')) {
-                notify ("An error occurred deleting old backup data");
-            }
-            else {
-                $errorstr = "An error occurred deleting old backup data";
-                return false;
+                notify ($errorstr);
             }
         }
 
@@ -2947,11 +2947,11 @@
             //Prints general info about backup to file
             if ($backup_file) {
                 if (!$status = backup_general_info($backup_file,$preferences)) {
+                    $errorstr = "An error occurred while backing up general info";
+                    backup_add_to_log(time(),$preferences->backup_course,$errorstr,'manual');
                     if (!defined('BACKUP_SILENTLY')) {
-                        notify("An error occurred while backing up general info");
-                    }
-                    else {
-                        $errorstr = "An error occurred while backing up general info";
+                        notify($errorstr);
+                    } else {
                         return false;
                     }
                 }
@@ -2965,11 +2965,11 @@
             //Prints course start (tag and general info)
             if ($status) {
                 if (!$status = backup_course_start($backup_file,$preferences)) {
+                    $errorstr = "An error occurred while backing up course start";
+                    backup_add_to_log(time(),$preferences->backup_course,$errorstr,'manual');
                     if (!defined('BACKUP_SILENTLY')) {
-                        notify("An error occurred while backing up course start");
-                    }
-                    else {
-                        $errorstr = "An error occurred while backing up course start";
+                        notify($errorstr);
+                    } else {
                         return false;
                     }
                 }
@@ -2980,11 +2980,11 @@
                     echo "<li>".get_string("metacourse").'</li>';
                 }
                 if (!$status = backup_course_metacourse($backup_file,$preferences)) {
+                    $errorstr = "An error occurred while backing up metacourse info";
+                    backup_add_to_log(time(),$preferences->backup_course,$errorstr,'manual');
                     if (!defined('BACKUP_SILENTLY')) {
-                        notify("An error occurred while backing up metacourse info");
-                    }
-                    else {
-                        $errorstr = "An error occurred while backing up metacourse info";
+                        notify($errorstr);
+                    } else {
                         return false;
                     }
                 }
@@ -2995,11 +2995,11 @@
             //Blocks information
             if ($status) {
                 if (!$status = backup_course_blocks($backup_file,$preferences)) {
+                    $errorstr = "An error occurred while backing up course blocks";                    
+                    backup_add_to_log(time(),$preferences->backup_course,$errorstr,'manual');
                     if (!defined('BACKUP_SILENTLY')) {
-                        notify("An error occurred while backing up course blocks");
-                    }
-                    else {
-                        $errorstr = "An error occurred while backing up course blocks";
+                        notify($errorstr);
+                    } else {
                         return false;
                     }
                 }
@@ -3010,11 +3010,11 @@
             //Section info
             if ($status) {
                 if (!$status = backup_course_sections($backup_file,$preferences)) {
+                    $errorstr = "An error occurred while backing up course sections";                    
+                    backup_add_to_log(time(),$preferences->backup_course,$errorstr,'manual');                    
                     if (!defined('BACKUP_SILENTLY')) {
-                        notify("An error occurred while backing up course sections");
-                    }
-                    else {
-                        $errorstr = "An error occurred while backing up course sections";
+                        notify($errorstr);
+                    } else {
                         return false;
                     }
                 }
@@ -3031,11 +3031,11 @@
                     echo "<li>".get_string("writinguserinfo").'</li>';
                 }
                 if (!$status = backup_user_info($backup_file,$preferences)) {
+                    $errorstr = "An error occurred while backing up user info";                    
+                    backup_add_to_log(time(),$preferences->backup_course,$errorstr,'manual');
                     if (!defined('BACKUP_SILENTLY')) {
-                        notify("An error occurred while backing up user info");
-                    }
-                    else {
-                        $errorstr = "An error occurred while backing up user info";
+                        notify($errorstr);
+                    } else {
                         return false;
                     }
                 }
@@ -3048,11 +3048,11 @@
                     echo "<li>".get_string("writingmessagesinfo").'</li>';
                 }
                 if (!$status = backup_messages($backup_file,$preferences)) {
+                    $errorstr = "An error occurred while backing up messages";                    
+                    backup_add_to_log(time(),$preferences->backup_course,$errorstr,'manual');
                     if (!defined('BACKUP_SILENTLY')) {
-                        notify("An error occurred while backing up messages");
-                    }
-                    else {
-                        $errorstr = "An error occurred while backing up messages";
+                        notify($errorstr);
+                    } else {
                         return false;
                     }
                 }
@@ -3065,11 +3065,11 @@
                     echo "<li>".get_string("writingblogsinfo").'</li>';
                 }
                 if (!$status = backup_blogs($backup_file,$preferences)) {
+                    $errorstr = "An error occurred while backing up blogs";
+                    backup_add_to_log(time(),$preferences->backup_course,$errorstr,'manual');
                     if (!defined('BACKUP_SILENTLY')) {
-                        notify("An error occurred while backing up blogs");
-                    }
-                    else {
-                        $errorstr = "An error occurred while backing up blogs";
+                        notify($errorstr);
+                    } else {
                         return false;
                     }
                 }
@@ -3083,11 +3083,11 @@
                 }
                 require_once($CFG->dirroot.'/question/backuplib.php');
                 if (!$status = backup_question_categories($backup_file, $preferences)) {
+                    $errorstr = "An error occurred while backing up quiz categories";
+                    backup_add_to_log(time(),$preferences->backup_course,$errorstr,'manual');                    
                     if (!defined('BACKUP_SILENTLY')) {
-                        notify("An error occurred while backing up quiz categories");
-                    }
-                    else {
-                        $errorstr = "An error occurred while backing up quiz categories";
+                        notify($errorstr);
+                    } else {
                         return false;
                     }
                 }
@@ -3100,11 +3100,11 @@
                         echo "<li>".get_string("writingloginfo").'</li>';
                     }
                     if (!$status = backup_log_info($backup_file,$preferences)) {
+                        $errorstr = "An error occurred while backing up log info";
+                        backup_add_to_log(time(),$preferences->backup_course,$errorstr,'manual');
                         if (!defined('BACKUP_SILENTLY')) {
-                            notify("An error occurred while backing up log info");
-                        }
-                        else {
-                            $errorstr = "An error occurred while backing up log info";
+                            notify($errorstr);
+                        } else {
                             return false;
                         }
                     }
@@ -3117,11 +3117,11 @@
                     echo "<li>".get_string("writingscalesinfo").'</li>';
                 }
                 if (!$status = backup_scales_info($backup_file,$preferences)) {
+                    $errorstr = "An error occurred while backing up scales";                    
+                    backup_add_to_log(time(),$preferences->backup_course,$errorstr,'manual');
                     if (!defined('BACKUP_SILENTLY')) {
-                        notify("An error occurred while backing up scales");
-                    }
-                    else {
-                        $errorstr = "An error occurred while backing up scales";
+                        notify($errorstr);
+                    } else {
                         return false;
                     }
                 }
@@ -3133,11 +3133,11 @@
                     echo "<li>".get_string("writinggroupsinfo").'</li>';
                 }
                 if (!$status = backup_groups_info($backup_file,$preferences)) {
+                    $errostr = "An error occurred while backing up groups";
+                    backup_add_to_log(time(),$preferences->backup_course,$errorstr,'manual');
                     if (!defined('BACKUP_SILENTLY')) {
-                        notify("An error occurred while backing up groups");
-                    }
-                    else {
-                        $errostr = "An error occurred while backing up groups";
+                        notify($errorstr);
+                    } else {
                         return false;
                     }
                 }
@@ -3149,11 +3149,11 @@
                     echo "<li>".get_string("writinggroupingsinfo").'</li>';
                 }
                 if (!$status = backup_groupings_info($backup_file,$preferences)) {
+                    $errorstr = "An error occurred while backing up groupings";                    
+                    backup_add_to_log(time(),$preferences->backup_course,$errorstr,'manual');
                     if (!defined('BACKUP_SILENTLY')) {
-                        notify("An error occurred while backing up groupings");
-                    }
-                    else {
-                        $errorstr = "An error occurred while backing up groupings";
+                        notify($errorstr);
+                    } else {
                         return false;
                     }
                 }
@@ -3165,11 +3165,11 @@
                     echo "<li>".get_string("writinggroupingsgroupsinfo").'</li>';
                 }
                 if (!$status = backup_groupings_groups_info($backup_file,$preferences)) {
+                    $errorstr = "An error occurred while backing up groupings groups";
+                    backup_add_to_log(time(),$preferences->backup_course,$errorstr,'manual');
                     if (!defined('BACKUP_SILENTLY')) {
-                        notify("An error occurred while backing up groupings groups");
-                    }
-                    else {
-                        $errorstr = "An error occurred while backing up groupings groups";
+                        notify($errorstr);
+                    } else {
                         return false;
                     }
                 }
@@ -3181,11 +3181,11 @@
                     echo "<li>".get_string("writingeventsinfo").'</li>';
                 }
                 if (!$status = backup_events_info($backup_file,$preferences)) {
+                    $errorstr = "An error occurred while backing up events";
+                    backup_add_to_log(time(),$preferences->backup_course,$errorstr,'manual');
                     if (!defined('BACKUP_SILENTLY')) {
-                        notify("An error occurred while backing up events");
-                    }
-                    else {
-                        $errorstr = "An error occurred while backing up events";
+                        notify($errorstr);
+                    } else {
                         return false;
                     }
                 }
@@ -3197,11 +3197,11 @@
                     echo "<li>".get_string("writinggradebookinfo").'</li>';
                 }
                 if (!$status = backup_gradebook_info($backup_file,$preferences)) {
+                    $errorstr = "An error occurred while backing up gradebook";
+                    backup_add_to_log(time(),$preferences->backup_course,$errorstr,'manual');
                     if (!defined('BACKUP_SILENTLY')) {
-                        notify("An error occurred while backing up gradebook");
-                    }
-                    else {
-                        $errorstr = "An error occurred while backing up gradebook";
+                        notify($errorstr);
+                    } else {
                         return false;
                     }
                 }
@@ -3226,11 +3226,13 @@
                     }
                     //Start modules tag
                     if (!$status = backup_modules_start ($backup_file,$preferences)) {
+                        $errorstr = "An error occurred while backing up module info";
+                        backup_add_to_log(time(),$preferences->backup_course,$errorstr,'manual');
                         if (!defined('BACKUP_SILENTLY')) {
-                            notify("An error occurred while backing up module info");
+                            notify($errorstr);
                         }
                         else {
-                            $errorstr = "An error occurred while backing up module info";
+
                             return false;
                         }
                     }
@@ -3245,11 +3247,11 @@
                                 echo "<li>".get_string("modulenameplural",$module->name).'</li>';
                             }
                             if (!$status = backup_module($backup_file,$preferences,$module->name)) {
+                                $errorstr = "An error occurred while backing up '$module->name'";
+                                backup_add_to_log(time(),$preferences->backup_course,$errorstr,'manual');
                                 if (!defined('BACKUP_SILENTLY')) {
-                                    notify("An error occurred while backing up '$module->name'");
-                                }
-                                else {
-                                    $errorstr = "An error occurred while backing up '$module->name'";
+                                    notify($errorstr);
+                                } else {
                                     return false;
                                 }
                             }
@@ -3261,11 +3263,11 @@
                     }
                     //Close modules tag
                     if (!$status = backup_modules_end ($backup_file,$preferences)) {
+                        $errorstr = "An error occurred while finishing the module backups";
+                        backup_add_to_log(time(),$preferences->backup_course,$errorstr,'manual');
                         if (!defined('BACKUP_SILENTLY')) {
-                            notify("An error occurred while finishing the module backups");
-                        }
-                        else {
-                            $errorstr = "An error occurred while finishing the module backups";
+                            notify($errorstr);
+                        } else {
                             return false;
                         }
                     }
@@ -3278,11 +3280,11 @@
             }
             if($status) {
                 if (!$status = backup_format_data($backup_file,$preferences)) {
+                    $errorstr = "An error occurred while backing up the course format data";
+                    backup_add_to_log(time(),$preferences->backup_course,$errorstr,'manual');
                     if (!defined('BACKUP_SILENTLY')) {
-                        notify("An error occurred while backing up the course format data");
-                    }
-                    else {
-                        $errorstr = "An error occurred while backing up the course format data";
+                        notify($errorstr);
+                    } else {
                         return false;
                     }
                 }
@@ -3291,11 +3293,11 @@
             //Prints course end
             if ($status) {
                 if (!$status = backup_course_end($backup_file,$preferences)) {
+                    $errorstr = "An error occurred while closing the course backup";
+                    backup_add_to_log(time(),$preferences->backup_course,$errorstr,'manual');
                     if (!defined('BACKUP_SILENTLY')) {
-                        notify("An error occurred while closing the course backup");
-                    }
-                    else {
-                        $errorstr = "An error occurred while closing the course backup";
+                        notify($errorstr);
+                    } else {
                         return false;
                     }
                 }
@@ -3318,11 +3320,11 @@
                     echo "<li>".get_string("copyinguserfiles").'</li>';
                 }
                 if (!$status = backup_copy_user_files ($preferences)) {
+                    $errorstr = "An error occurred while copying user files";
+                    backup_add_to_log(time(),$preferences->backup_course,$errorstr,'manual');
                     if (!defined('BACKUP_SILENTLY')) {
-                        notify("An error occurred while copying user files");
-                    }
-                    else {
-                        $errorstr = "An error occurred while copying user files";
+                        notify($errorstr);
+                    } else {
                         return false;
                     }
                 }
@@ -3336,11 +3338,11 @@
                     echo "<li>".get_string("copyingcoursefiles").'</li>';
                 }
                 if (!$status = backup_copy_course_files ($preferences)) {
+                    $errorstr = "An error occurred while copying course files";
+                    backup_add_to_log(time(),$preferences->backup_course,$errorstr,'manual');
                     if (!defined('BACKUP_SILENTLY')) {
-                        notify("An error occurred while copying course files");
-                    }
-                    else {
-                        $errorstr = "An error occurred while copying course files";
+                        notify($errorstr);
+                    } else {
                         return false;
                     }
                 }
@@ -3353,11 +3355,11 @@
                     echo "<li>".get_string("copyingsitefiles").'</li>';
                 }
                 if (!$status = backup_copy_site_files ($preferences)) {
+                    $errorstr = "An error occurred while copying site files";
+                    backup_add_to_log(time(),$preferences->backup_course,$errorstr,'manual');
                     if (!defined('BACKUP_SILENTLY')) {
-                        notify("An error occurred while copying site files");
-                    }
-                    else {
-                        $errorstr = "An error occurred while copying site files";
+                        notify($errorstr);
+                    } else {
                         return false;
                     }
                 }
@@ -3369,11 +3371,11 @@
                 echo "<li>".get_string("zippingbackup").'</li>';
             }
             if (!$status = backup_zip ($preferences)) {
+                $errorstr = "An error occurred while zipping the backup";
+                backup_add_to_log(time(),$preferences->backup_course,$errorstr,'manual');
                 if (!defined('BACKUP_SILENTLY')) {
-                    notify("An error occurred while zipping the backup");
-                }
-                else {
-                    $errorstr = "An error occurred while zipping the backup";
+                    notify($errorstr);
+                } else {
                     return false;
                 }
             }
@@ -3385,11 +3387,11 @@
                 echo "<li>".get_string("copyingzipfile").'</li>';
             }
             if (!$status = copy_zip_to_course_dir ($preferences)) {
+                $errorstr = "An error occurred while copying the zip file to the course directory";
+                backup_add_to_log(time(),$preferences->backup_course,$errorstr,'manual');
                 if (!defined('BACKUP_SILENTLY')) {
-                    notify("An error occurred while copying the zip file to the course directory");
-                }
-                else {
-                    $errorstr = "An error occurred while copying the zip file to the course directory";
+                    notify($errorstr);
+                } else {
                     return false;
                 }
             }
@@ -3401,11 +3403,11 @@
                 echo "<li>".get_string("cleaningtempdata").'</li>';
             }
             if (!$status = clean_temp_data ($preferences)) {
+                $errorstr = "An error occurred while cleaning up temporary data";
+                backup_add_to_log(time(),$preferences->backup_course,$errorstr,'manual');
                 if (!defined('BACKUP_SILENTLY')) {
-                    notify("An error occurred while cleaning up temporary data");
-                }
-                else {
-                    $errorstr = "An error occurred while cleaning up temporary data";
+                    notify($errorstr);
+                } else {
                     return false;
                 }
             }
@@ -3422,7 +3424,9 @@
         }
         
         if(empty($xdeltapath) or !file_exists($xdeltapath)) {
-            echo ("ERROR: XDELTA not installed - incrementals cannot run");     
+          $errorstr = "ERROR: XDELTA not installed - incrementals cannot run";
+          backup_add_to_log(time(),$preferences->backup_course,$errorstr,'manual');
+          notify($errorstr);     
         } elseif ((isset($backup_config->backup_incrementals)&& $backup_config->backup_incrementals) && isset($preferences->backup_generate_incrementals) && $preferences->backup_generate_incrementals) {
             require_once ("$CFG->libdir/xdelta.class.php");
             require_once ("incremental_backuplib.php");
