diff --git a/packages/esm-patient-registration-app/src/patient-registration/input/custom-input/identifier/identifier-input.component.tsx b/packages/esm-patient-registration-app/src/patient-registration/input/custom-input/identifier/identifier-input.component.tsx
index a7053512c..012faaac3 100644
--- a/packages/esm-patient-registration-app/src/patient-registration/input/custom-input/identifier/identifier-input.component.tsx
+++ b/packages/esm-patient-registration-app/src/patient-registration/input/custom-input/identifier/identifier-input.component.tsx
@@ -3,13 +3,14 @@ import { useTranslation } from 'react-i18next';
 import { useField } from 'formik';
 import { Button } from '@carbon/react';
 import { TrashCan, Edit, Reset } from '@carbon/react/icons';
-import { ResourcesContext } from '../../../../offline.resources';
+import { type RegistrationConfig } from '../../../../config-schema';
 import { showModal, useConfig, UserHasAccess } from '@openmrs/esm-framework';
-import { shouldBlockPatientIdentifierInOfflineMode } from './utils';
 import { deleteIdentifierType, setIdentifierSource } from '../../../field/id/id-field.component';
-import { type PatientIdentifierValue } from '../../../patient-registration.types';
-import { PatientRegistrationContext } from '../../../patient-registration-context';
 import { Input } from '../../basic-input/input/input.component';
+import { PatientRegistrationContext } from '../../../patient-registration-context';
+import { ResourcesContext } from '../../../../offline.resources';
+import { shouldBlockPatientIdentifierInOfflineMode } from './utils';
+import { type PatientIdentifierValue } from '../../../patient-registration.types';
 import styles from '../../input.scss';
 
 interface IdentifierInputProps {
@@ -19,7 +20,7 @@ interface IdentifierInputProps {
 
 const IdentifierInput: React.FC<IdentifierInputProps> = ({ patientIdentifier, fieldName }) => {
   const { t } = useTranslation();
-  const { defaultPatientIdentifierTypes } = useConfig();
+  const { defaultPatientIdentifierTypes } = useConfig<RegistrationConfig>();
   const { identifierTypes } = useContext(ResourcesContext);
   const { isOffline, values, setFieldValue } = useContext(PatientRegistrationContext);
   const identifierType = useMemo(
@@ -70,15 +71,16 @@ const IdentifierInput: React.FC<IdentifierInputProps> = ({ patientIdentifier, fi
     */
 
     if (initialValue) {
-      const confirmDeleteIdentifierModal = showModal('delete-identifier-confirmation-modal', {
-        deleteIdentifier: (deleteIdentifier) => {
-          if (deleteIdentifier) {
+      const dispose = showModal('delete-identifier-confirmation-modal', {
+        closeModal: () => dispose(),
+        deleteIdentifier: (isConfirmed) => {
+          if (isConfirmed) {
             setFieldValue('identifiers', deleteIdentifierType(values.identifiers, fieldName));
           }
-          confirmDeleteIdentifierModal();
+          dispose();
         },
         identifierName,
-        initialValue,
+        identifierValue: initialValue,
       });
     } else {
       setFieldValue('identifiers', deleteIdentifierType(values.identifiers, fieldName));
diff --git a/packages/esm-patient-registration-app/src/widgets/delete-identifier-confirmation.modal.tsx b/packages/esm-patient-registration-app/src/widgets/delete-identifier-confirmation.modal.tsx
index 08da387c3..394b2939b 100644
--- a/packages/esm-patient-registration-app/src/widgets/delete-identifier-confirmation.modal.tsx
+++ b/packages/esm-patient-registration-app/src/widgets/delete-identifier-confirmation.modal.tsx
@@ -36,7 +36,7 @@ const DeleteIdentifierConfirmationModal: React.FC<DeleteIdentifierConfirmationMo
         </p>
       </ModalBody>
       <ModalFooter>
-        <Button kind="secondary" size="lg" onClick={() => deleteIdentifier(false)}>
+        <Button kind="secondary" size="lg" onClick={closeModal}>
           {t('cancel', 'Cancel')}
         </Button>
         <Button kind="danger" size="lg" onClick={() => deleteIdentifier(true)}>
diff --git a/packages/esm-patient-registration-app/src/widgets/delete-identifier-confirmation.test.tsx b/packages/esm-patient-registration-app/src/widgets/delete-identifier-confirmation.test.tsx
index 2066906d0..fc59271ee 100644
--- a/packages/esm-patient-registration-app/src/widgets/delete-identifier-confirmation.test.tsx
+++ b/packages/esm-patient-registration-app/src/widgets/delete-identifier-confirmation.test.tsx
@@ -5,6 +5,7 @@ import DeleteIdentifierConfirmationModal from './delete-identifier-confirmation.
 
 describe('DeleteIdentifierConfirmationModal', () => {
   const mockDeleteIdentifier = jest.fn();
+  const closeModal = jest.fn();
   const mockIdentifierName = 'Identifier Name';
   const mockIdentifierValue = 'Identifier Value';
 
@@ -13,7 +14,7 @@ describe('DeleteIdentifierConfirmationModal', () => {
 
     render(
       <DeleteIdentifierConfirmationModal
-        closeModal={jest.fn()}
+        closeModal={closeModal}
         deleteIdentifier={mockDeleteIdentifier}
         identifierName={mockIdentifierName}
         identifierValue={mockIdentifierValue}
@@ -22,7 +23,7 @@ describe('DeleteIdentifierConfirmationModal', () => {
 
     const cancelButton = screen.getByRole('button', { name: /cancel/i });
     await user.click(cancelButton);
-    expect(mockDeleteIdentifier).toHaveBeenCalledWith(false);
+    expect(closeModal).toHaveBeenCalledTimes(1);
 
     const removeButton = screen.getByRole('button', { name: /remove identifier/i });
     await user.click(removeButton);