diff --git a/src/WebformSubmissionForm.php b/src/WebformSubmissionForm.php
index ec799126..8af29034 100644
--- a/src/WebformSubmissionForm.php
+++ b/src/WebformSubmissionForm.php
@@ -1514,6 +1514,18 @@ class WebformSubmissionForm extends ContentEntityForm {
    *   The current state of the form.
    */
   public function rebuild(array &$form, FormStateInterface $form_state) {
+    // If ?destination is set, don't rebuild the form instead allow the form
+    // to be redirected to the ?destination.
+    if (!$this->isAjax()
+      && $this->getRequest()->get('destination')) {
+      // Display draft saved message.
+      if ($form_state->get('draft_saved')) {
+        $this->getMessageManager()->display(WebformMessageManagerInterface::SUBMISSION_DRAFT_SAVED_MESSAGE);
+        $form_state->set('draft_saved', FALSE);
+      }
+      return;
+    }
+
     $form_state->setRebuild();
   }
 
