diff --git a/src/components/FormModelPopup.vue b/src/components/FormModelPopup.vue
index 10bf8aae204..672eeff7a23 100644
--- a/src/components/FormModelPopup.vue
+++ b/src/components/FormModelPopup.vue
@@ -27,12 +27,12 @@ const formModelRef = ref(null);
 const closeButton = ref(null);
 const isSaveAndContinue = ref(false);
 const onDataSaved = (formData, requestResponse) => {
-    if (closeButton.value && isSaveAndContinue.value) closeButton.value.click();
+    if (closeButton.value && !isSaveAndContinue.value) closeButton.value.click();
     emit('onDataSaved', formData, requestResponse);
 };
 
-const onClick = async () => {
-    isSaveAndContinue.value = true;
+const onClick = async (saveAndContinue) => {
+    isSaveAndContinue.value = saveAndContinue;
     await formModelRef.value.save();
 };
 
@@ -83,7 +83,7 @@ defineExpose({
                     :flat="showSaveAndContinueBtn"
                     :label="t('globals.save')"
                     :title="t('globals.save')"
-                    @click="onClick"
+                    @click="onClick(false)"
                     color="primary"
                     class="q-ml-sm"
                     :disabled="isLoading"
@@ -101,7 +101,7 @@ defineExpose({
                     :loading="isLoading"
                     data-cy="FormModelPopup_isSaveAndContinue"
                     z-max
-                    @click="onClick"
+                    @click="onClick(true)"
                 />
             </div>
         </template>