diff --git a/js/webform.ajax.js b/js/webform.ajax.js
index da3ac6b1..fe487593 100644
--- a/js/webform.ajax.js
+++ b/js/webform.ajax.js
@@ -85,6 +85,9 @@
    *
    * @prop {Drupal~behaviorAttach} attach
    *   Attaches the behavior to confirmation back to link.
+   *
+   * @see template_preprocess_webform_confirmation()
+   * @see \Drupal\webform\WebformSubmissionForm::actionsElement
    */
   Drupal.behaviors.webformConfirmationBackAjax = {
     attach: function (context) {
@@ -97,7 +100,8 @@
           // @see \Drupal\webform\WebformSubmissionForm::getCustomForm
           $form.find('.js-webform-confirmation-back-submit-ajax').click();
 
-          // Move the progress indicator from the submit button to after this link.
+          // Move the progress indicator from the submit button to
+          // after this link.
           // @todo Figure out a better way to set a progress indicator.
           var $progress_indicator = $form.find('.ajax-progress');
           if ($progress_indicator) {
diff --git a/src/WebformSubmissionForm.php b/src/WebformSubmissionForm.php
index cf73f8a6..1d2103d9 100644
--- a/src/WebformSubmissionForm.php
+++ b/src/WebformSubmissionForm.php
@@ -796,20 +796,6 @@ class WebformSubmissionForm extends ContentEntityForm {
         '#source_entity' => $webform_submission->getSourceEntity(),
         '#webform_submission' => $webform_submission,
       ];
-      // Add hidden back (aka reset) button used by the Ajaxified back to link.
-      // NOTE: Below code could be used to add a 'Reset' button to any webform.
-      // @see Drupal.behaviors.webformConfirmationBackAjax
-      $form['actions']['reset'] = [
-        '#type' => 'submit',
-        '#value' => $this->t('Reset'),
-        // @see \Drupal\webform\WebformSubmissionForm::noValidate
-        '#validate' => ['::noValidate'],
-        '#submit' => ['::reset'],
-        '#attributes' => [
-          'style' => 'display:none',
-          'class' => ['js-webform-confirmation-back-submit-ajax'],
-        ],
-      ];
       return $form;
     }
 
@@ -1080,15 +1066,37 @@ class WebformSubmissionForm extends ContentEntityForm {
    * {@inheritdoc}
    */
   protected function actionsElement(array $form, FormStateInterface $form_state) {
-    // Custom webforms, which completely override the ContentEntityForm, should
-    // not return the actions element (aka submit buttons).
-    if (!empty($form['#custom_form'])) {
-      return NULL;
+    // Add hidden back (aka reset) button used by the Ajaxified back to link.
+    // NOTE: Below code could be used to add a 'Reset' button to any webform.
+    // @see template_preprocess_webform_confirmation()
+    // @see Drupal.behaviors.webformConfirmationBackAjax
+    if ($form_state->get('current_page') === 'webform_confirmation') {
+      $element = ['#type' => 'actions'];
+      $element['reset'] = [
+        '#type' => 'submit',
+        '#value' => $this->t('Reset'),
+        // @see \Drupal\webform\WebformSubmissionForm::noValidate
+        '#validate' => ['::noValidate'],
+        '#submit' => ['::reset'],
+        '#attributes' => [
+          'style' => 'display:none',
+          'class' => ['js-webform-confirmation-back-submit-ajax'],
+        ],
+      ];
+      return $element;
     }
+
+    // Add action elements.
     $element = parent::actionsElement($form, $form_state);
     if (!empty($element)) {
       $element['#theme'] = 'webform_actions';
     }
+
+    // Custom webforms, which completely override the ContentEntityForm, should
+    // not display the actions element (aka submit buttons).
+    if (!empty($form['#custom_form'])) {
+      $element['#access'] = FALSE;
+    }
     return $element;
   }
 
