diff --git a/online-survey-app/src/app/tangy-forms/tangy-forms-player/tangy-forms-player.component.ts b/online-survey-app/src/app/tangy-forms/tangy-forms-player/tangy-forms-player.component.ts
index 98975dbfb..3ea6eba18 100644
--- a/online-survey-app/src/app/tangy-forms/tangy-forms-player/tangy-forms-player.component.ts
+++ b/online-survey-app/src/app/tangy-forms/tangy-forms-player/tangy-forms-player.component.ts
@@ -119,15 +119,11 @@ export class TangyFormsPlayerComponent implements OnInit {
         event.preventDefault();
 
         let response = event.target.store.getState()
-        await this.throttledSaveResponse(response)
-
+        await this.saveResponse(response)
         if (this.caseService && this.caseService.caseEvent && this.caseService.eventForm) {
           this.caseService.markEventFormComplete(this.caseService.caseEvent.id, this.caseService.eventForm.id)
           await this.caseService.save()
         }
-        
-        // first route to form-submitted, then redirect to the url in window['eventFormRedirect']
-        this.router.navigate(['/form-submitted-success']);
         if (window['eventFormRedirect']) {
           try {
             // this.router.navigateByUrl(window['eventFormRedirect']) -- TODO figure this out later
@@ -136,6 +132,8 @@ export class TangyFormsPlayerComponent implements OnInit {
           } catch (error) {
             console.error(error);
           }
+        } else {
+          this.router.navigate(['/form-submitted-success']);
         }
       });
     } else {
@@ -178,16 +176,21 @@ export class TangyFormsPlayerComponent implements OnInit {
     if (stateDoc && stateDoc['complete'] && state.complete && stateDoc['form'] && !stateDoc['form'].hasSummary && archiveStateChange) {
       // Since what is in the database is complete, and it's still complete, and it doesn't have 
       // a summary where they might add some input, don't save! They are probably reviewing data.
+      this.response = stateDoc
     } else {
       // add metadata
       stateDoc = {
         ...state,
         location: this.location || state.location,
         ...this.metadata
-      }   
-      await this.tangyFormService.saveResponse(stateDoc)
+      }
+      const updatedStateDoc = await this.tangyFormService.saveResponse(stateDoc)
+      if (updatedStateDoc) {
+        this.response = updatedStateDoc
+        return true;
+      }
     }
-    this.response = state
+    return false;
   }
 
   async saveFormResponse(formResponse) {