diff --git a/Common/GmshMessage.cpp b/Common/GmshMessage.cpp
index 0a8ae573f187562d694816ef2f7d1eaf0e77b060..3cd9d08536be92b6d9fccbbf3ecbe4896a921701 100644
--- a/Common/GmshMessage.cpp
+++ b/Common/GmshMessage.cpp
@@ -777,6 +777,7 @@ static void _setStandardOptions(onelab::parameter *p,
   if(fopt.count("ReadOnly")) p->setReadOnly(fopt["ReadOnly"][0] ? true : false);
   if(copt.count("Highlight")) p->setAttribute("Highlight", copt["Highlight"][0]);
   if(copt.count("AutoCheck")) p->setAttribute("AutoCheck", copt["AutoCheck"][0]);
+  if(copt.count("Macro")) p->setAttribute("Macro", copt["Macro"][0]);
 }
 
 static std::string _getParameterName(const std::string &key,
diff --git a/Common/onelab.h b/Common/onelab.h
index 98d24da4609543a6faa92c4954123e0ca521f4e9..7c25c56178a0cb64865113d74d70e58ae4f005c4 100644
--- a/Common/onelab.h
+++ b/Common/onelab.h
@@ -383,7 +383,7 @@ namespace onelab{
   // The string class. A string has a mutable "kind": we do not derive
   // specialized classes, because the kind should be changeable at runtime
   // (e.g. from a client-dependent mathematical expression to a table of
-  // values). Kinds currently recognized by Gmsh are: "file", "macro". Possible
+  // values). Kinds currently recognized by Gmsh are: "file". Possible
   // kinds could be "complex", "matrix m n", "hostname", client-dependent
   // mathematical expression, onelab mathematical expression (through mathex?),
   // ...
diff --git a/Fltk/onelabGroup.cpp b/Fltk/onelabGroup.cpp
index 638f5b0f2bcbb69e3b262e1481e17e8f58559424..bff60f9f4bb344f96027d253ad382b5f38d74ff6 100644
--- a/Fltk/onelabGroup.cpp
+++ b/Fltk/onelabGroup.cpp
@@ -1034,7 +1034,7 @@ Fl_Widget *onelabGroup::_addParameterWidget(onelab::string &p, Fl_Tree_Item *n,
                                             bool highlight, Fl_Color c)
 {
   // macro button
-  if(p.getKind() == "macro"){
+  if(p.getAttribute("Macro") == "Gmsh"){
     Fl_Button *but = new Fl_Button(1, 1, (3 * _itemWidth) / 2, 1);
     but->align(FL_ALIGN_INSIDE | FL_ALIGN_CLIP);
     but->callback(onelab_string_button_cb, (void*)n);