diff --git a/admin/settings.php b/admin/settings.php
index 7b6b739b9e8..3c0107d967c 100644
--- a/admin/settings.php
+++ b/admin/settings.php
@@ -78,8 +78,7 @@ if ($data = data_submitted()) {
} else {
error(get_string('confirmsesskeybad', 'error'));
}
- //reload site
- $SITE = get_record('course', 'id', $SITE->id);
+ //update $COURSE to match changed $SITE
$COURSE = clone($SITE);
}
diff --git a/lib/adminlib.php b/lib/adminlib.php
index f5c3cb289df..f12edf77391 100644
--- a/lib/adminlib.php
+++ b/lib/adminlib.php
@@ -1693,7 +1693,10 @@ class admin_setting_sitesettext extends admin_setting_configtext {
$record->id = $this->id;
$record->{$this->name} = $data;
$record->timemodified = time();
- return (update_record('course', $record) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '
');
+ $status = update_record('course', $record) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '
';
+ //now update $SITE
+ global $SITE;
+ $SITE = get_record('course', 'id', $SITE->id);
}
}