diff --git a/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewGridComponent.java b/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewGridComponent.java
--- a/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewGridComponent.java
+++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewGridComponent.java
@@ -28,6 +28,7 @@
 import org.openbravo.base.model.Property;
 import org.openbravo.client.application.window.OBViewFieldHandler.OBViewField;
 import org.openbravo.client.application.window.OBViewFieldHandler.OBViewFieldDefinition;
+import org.openbravo.client.application.window.OBViewTab.ButtonField;
 import org.openbravo.client.kernel.BaseTemplateComponent;
 import org.openbravo.client.kernel.RequestContext;
 import org.openbravo.client.kernel.Template;
@@ -248,6 +249,13 @@
       requiredGridProperties.add(identifierProperty.getName());
     }
 
+    List<ButtonField> buttonFields = getViewTab().getButtonFields();
+    for (ButtonField buttonField : buttonFields) {
+      if (!buttonField.getLabelValues().isEmpty()) {
+        requiredGridProperties.add(buttonField.getPropertyName());
+      }
+    }
+
     List<String> propertiesInButtonFieldDisplayLogic = getViewTab().getFieldHandler()
         .getPropertiesInButtonFieldDisplayLogic();
 
