diff --git a/projects/nshmp-apps/src/app/dev/gmm/hanging-wall-effects/state/app.facade.ts b/projects/nshmp-apps/src/app/dev/gmm/hanging-wall-effects/state/app.facade.ts
index af9bb86db41fd91c59459f362ddef1bb0226f3f2..2b8c7eb6a6f27ec4f9f565ba85ece88f6123a962 100644
--- a/projects/nshmp-apps/src/app/dev/gmm/hanging-wall-effects/state/app.facade.ts
+++ b/projects/nshmp-apps/src/app/dev/gmm/hanging-wall-effects/state/app.facade.ts
@@ -13,6 +13,10 @@ import {
   GmmDistanceUsage,
 } from '@ghsc/nshmp-utils-ts/libs/nshmp-ws/gmm-services';
 import {environment} from 'projects/nshmp-apps/src/environments/environment';
+import {
+  redrawPlots,
+  resetPlotSettings,
+} from 'projects/nshmp-apps/src/shared/utils/facade.utils';
 import {catchError} from 'rxjs';
 
 import {createPlots} from '../utils/response-handler.utils';
@@ -24,7 +28,6 @@ import {
   initialState,
   usageFormValues,
 } from './app.state';
-import {redrawPlots} from 'projects/nshmp-apps/src/shared/utils/facade.utils';
 
 @Injectable({providedIn: 'root'})
 export class AppFacade {
@@ -130,11 +133,9 @@ export class AppFacade {
    * Reset the plot settings.
    */
   resetPlotSettings(): void {
-    this.state().plots.forEach((plot, id) => {
-      const defaultSettings = defaultPlots().get(id).settingsForm;
-      plot.settingsForm.markAsPristine();
-      plot.settingsForm.markAsUntouched();
-      plot.settingsForm.patchValue(defaultSettings.getRawValue());
+    resetPlotSettings({
+      currentPlots: this.state().plots,
+      defaultPlots: defaultPlots(),
     });
   }
 
diff --git a/projects/nshmp-apps/src/app/dev/math/exceedance-explorer/state/app.facade.ts b/projects/nshmp-apps/src/app/dev/math/exceedance-explorer/state/app.facade.ts
index 6c8fb6f5f3cc7a6b2d60331250e001e3ebf47cf4..7c9c6f5bb21d07fd4aa75aca32eb3845fe78393c 100644
--- a/projects/nshmp-apps/src/app/dev/math/exceedance-explorer/state/app.facade.ts
+++ b/projects/nshmp-apps/src/app/dev/math/exceedance-explorer/state/app.facade.ts
@@ -1,6 +1,7 @@
 import {computed, Injectable, Signal, signal} from '@angular/core';
 import {FormBuilder} from '@angular/forms';
 import {NshmpPlot} from '@ghsc/nshmp-lib-no-ngrx/plot';
+import {resetPlotSettings} from 'projects/nshmp-apps/src/shared/utils/facade.utils';
 
 import {ControlForm} from '../models/control-form.model';
 import {Plots} from '../models/plots.model';
@@ -57,12 +58,9 @@ export class ExceedanceExplorerFacade {
    * Reset the plot settings.
    */
   resetSettings(): void {
-    this.state().plots.forEach((plot, id) => {
-      const defaultSettings =
-        exceedanceExplorerDefaultPlots().get(id).settingsForm;
-      plot.settingsForm.markAsUntouched();
-      plot.settingsForm.markAsPristine();
-      plot.settingsForm.patchValue(defaultSettings.getRawValue());
+    resetPlotSettings({
+      currentPlots: this.state().plots,
+      defaultPlots: exceedanceExplorerDefaultPlots(),
     });
   }