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