diff --git a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js
@@ -2220,7 +2220,7 @@
     if (fld.showIf && !fld.originalShowIf) {
       fld.originalShowIf = fld.showIf;
       newShowIf = function (item, value, form, values) {
-        var currentValues = values || form.view.getCurrentValues(),
+        var currentValues = isc.shallowClone(values || form.view.getCurrentValues()),
             context = form.getCachedContextInfo(),
             originalShowIfValue = false;
 
diff --git a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/process/ob-parameter-window-view.js b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/process/ob-parameter-window-view.js
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/process/ob-parameter-window-view.js
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/process/ob-parameter-window-view.js
@@ -141,7 +141,7 @@
     this.members.push(this.messageBar);
 
     newShowIf = function (item, value, form, values) {
-      var currentValues = values || form.view.getCurrentValues(),
+      var currentValues = isc.shallowClone(values || form.view.getCurrentValues()),
           context = {},
           originalShowIfValue = false;
 
diff --git a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/toolbar/ob-action-button.js b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/toolbar/ob-action-button.js
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/toolbar/ob-action-button.js
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/toolbar/ob-action-button.js
@@ -232,7 +232,7 @@
   },
 
   updateState: function (record, hide, context, keepNonAutosave) {
-    var currentValues = record || this.contextView.getCurrentValues() || {};
+    var currentValues = isc.shallowClone(record || this.contextView.getCurrentValues() || {});
     // do not hide non autosave buttons when hidding the rest if keepNonAutosave === true
     var hideButton = hide && (!keepNonAutosave || this.autosave);
 
