diff --git a/projects/grid-failure-information-app/src/app/shared/store/reducers/grid-failures/grid-failure-details-form.reducer.ts b/projects/grid-failure-information-app/src/app/shared/store/reducers/grid-failures/grid-failure-details-form.reducer.ts
index a26b6e9..d65ebed 100644
--- a/projects/grid-failure-information-app/src/app/shared/store/reducers/grid-failures/grid-failure-details-form.reducer.ts
+++ b/projects/grid-failure-information-app/src/app/shared/store/reducers/grid-failures/grid-failure-details-form.reducer.ts
@@ -153,10 +153,22 @@
         return setDependentPropertyValueNull(propState, formState, [FORM_CONTROLS.__formBranch.id]);
       },
       longitude: (propState, formState): any => {
-        return setDependentPropertyValueNull(propState, formState, [FORM_CONTROLS.__formBranch.id]);
+        return setDependentPropertyValueNull(propState, formState, [
+          FORM_CONTROLS.__formBranch.id,
+          FORM_CONTROLS.city.id,
+          FORM_CONTROLS.district.id,
+          FORM_CONTROLS.postcode.id,
+          FORM_CONTROLS.street.id,
+        ]);
       },
       latitude: (propState, formState): any => {
-        return setDependentPropertyValueNull(propState, formState, [FORM_CONTROLS.__formBranch.id]);
+        return setDependentPropertyValueNull(propState, formState, [
+          FORM_CONTROLS.__formBranch.id,
+          FORM_CONTROLS.city.id,
+          FORM_CONTROLS.district.id,
+          FORM_CONTROLS.postcode.id,
+          FORM_CONTROLS.street.id,
+        ]);
       },
       expectedReasonId: (propState, formState): any => {
         return setDependentPropertyValueNull(propState, formState, [FORM_CONTROLS.__formBranch.id]);
