subroutine ParseCgiForBorrower is used in both self-reg and self-modification,however,it always removes the unwanted fields in PatronSelfRegistrationBorrowerUnwantedField 564 delete $borrower{$_} for split( /\s*\|\s*/, C4::Context->preference('PatronSelfRegistrationBorrowerUnwantedField') || q{} ); To recreate: 1 - Add 'fax' to PatronSelfRegistrationBorrowerUnwantedField 2 - Add 'fax' to PatronSelfModificationMandatoryField 3 - Self register on the OPAC, note there is no 'fax' field 4 - Sign in as the new borrower 5 - Attempt to edit, note 'fax' is required, fill it 6 - Save the form - 'you are missing a required field' 7 - Remove 'fax' from PatronSelfRegistrationBorrowerUnwantedField 8 - Save the form again, now it works