diff --git a/CHANGELOG b/CHANGELOG
index d3839f05d8..877ed512ff 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,4 @@
+* Add keyword attribute to button tag
* Allow field name on image tag
* Remove unoconv and call soffice directly
* Allow to include mixin to pool objects
diff --git a/doc/topics/views/index.rst b/doc/topics/views/index.rst
index fe9abfbcef..7c0d3edce8 100644
--- a/doc/topics/views/index.rst
+++ b/doc/topics/views/index.rst
@@ -365,6 +365,10 @@ Display a button.
* ``help``: see in common-attributes-help_.
+ * ``keyword``: specify where will the button be displayed in the client
+ toolbar. The valid values are the keywords starting with `form_` from
+ topics-actions_ without the `form_` part.
+
notebook
^^^^^^^^
diff --git a/trytond/ir/ui/form.rnc b/trytond/ir/ui/form.rnc
index a0c4a03e43..9151c60ca1 100644
--- a/trytond/ir/ui/form.rnc
+++ b/trytond/ir/ui/form.rnc
@@ -144,6 +144,9 @@ attlist.button &= attribute icon { text }?
attlist.button &= attribute confirm { text }?
attlist.button &= attribute name { text }
attlist.button &= attribute states { text }?
+attlist.button &=
+ [ a:defaultValue="action" ]
+ attribute keyword { "relate" | "print" | "action" }?
attlist.button &= [ a:defaultValue = "0" ] attribute rule { "0" | "1" }?
attlist.button &= attribute change { text }?
attlist.button &= attribute type { "class" | "instance" }?
diff --git a/trytond/ir/ui/form.rng b/trytond/ir/ui/form.rng
index 27d70d3407..87fb51e195 100644
--- a/trytond/ir/ui/form.rng
+++ b/trytond/ir/ui/form.rng
@@ -562,6 +562,17 @@
+
+
+
+
+ relate
+ print
+ action
+
+
+
+
diff --git a/trytond/ir/ui/tree.rnc b/trytond/ir/ui/tree.rnc
index 83cb2a1399..4b3ece8835 100644
--- a/trytond/ir/ui/tree.rnc
+++ b/trytond/ir/ui/tree.rnc
@@ -73,6 +73,9 @@ attlist.button &=
attlist.button &= attribute confirm { text }?
attlist.button &= attribute name { text }
attlist.button &= attribute states { text }?
+attlist.button &=
+ [ a:defaultValue="action" ]
+ attribute keyword { "relate" | "print" | "action" }?
attlist.button &= attribute change { text }?
attlist.button &= attribute type { "class" | "instance" }?
attlist.button &=
diff --git a/trytond/ir/ui/tree.rng b/trytond/ir/ui/tree.rng
index 1e800d19dd..028ffa820f 100644
--- a/trytond/ir/ui/tree.rng
+++ b/trytond/ir/ui/tree.rng
@@ -250,6 +250,17 @@
+
+
+
+
+ relate
+ print
+ action
+
+
+
+