diff --git a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form.js b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form.js
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form.js
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form.js
@@ -577,7 +577,7 @@
     }
     allProperties._visibleProperties = fldNames;
     
-    this.setDisabled(true);
+    this.setDisabledWhenStillInFIC();
 
     // note that only the fields with errors are validated anyway
     this.validateAfterFicReturn = true;
@@ -1167,7 +1167,11 @@
     item._hasChanged = false;
   },
   
-  setDisabledWhenStillInFIC: function() {
+  setDisabledWhenStillInFIC: function(delayed) {
+    if (!delayed) {
+      this.delayCall('setDisabledWhenStillInFIC', [true], 300);
+      return;
+    }
     if (this.inFicCall) {
       this.setDisabled(true);
     }
@@ -1199,7 +1203,7 @@
     // before disabling
     // only do this if there is no popup currently
     if (!this.view.standardWindow.inAutoSaveConfirmation) {
-      this.delayCall('setDisabledWhenStillInFIC', [true], 10);
+      this.setDisabledWhenStillInFIC();
     }
 
     var editRow = this.view.viewGrid.getEditRow();
