diff --git a/course/moodleform_mod.php b/course/moodleform_mod.php index 29e0d03935e..66b3d9f3e12 100644 --- a/course/moodleform_mod.php +++ b/course/moodleform_mod.php @@ -224,8 +224,10 @@ abstract class moodleform_mod extends moodleform { // is changed, maybe someone has completed it now) $mform->getElement('completionunlocked')->setValue(1); } else { - // Has the element been unlocked? - if ($mform->exportValue('unlockcompletion')) { + // Has the element been unlocked, either by the button being pressed + // in this request, or the field already being set from a previous one? + if ($mform->exportValue('unlockcompletion') || + $mform->exportValue('completionunlocked')) { // Yes, add in warning text and set the hidden variable $mform->insertElementBefore( $mform->createElement('static', 'completedunlocked',