diff --git a/Fltk/onelabGroup.cpp b/Fltk/onelabGroup.cpp
index c31680e4414d7cc3159cbb7ca23563ad132f349a..4d92df97030e44acdb17305c3172ab1e483b0c16 100644
--- a/Fltk/onelabGroup.cpp
+++ b/Fltk/onelabGroup.cpp
@@ -687,9 +687,24 @@ void onelab_cb(Fl_Widget *w, void *data)
         if(db[i][j] == onelab::parameter::charSep()) db[i][j] = '|';
       Msg::Direct("%s", db[i].c_str());
     }
-    std::string s = SplitFileName(GModel::current()->getFileName())[0] + "onelab.db";
-    if(fileChooser(FILE_CHOOSER_CREATE, "Save", "*.db", s.c_str()))
+
+    std::vector<onelab::string> ps;
+    onelab::server::instance()->get(ps,"TAGSIMU");
+    std::string dbName, s;
+    if(ps.size())
+      dbName.assign("onelab" + ps[0].getValue() + ".db");
+    else
+      dbName = "onelab.db";
+    s.assign(SplitFileName(GModel::current()->getFileName())[0] + dbName);
+    if(fileChooser(FILE_CHOOSER_CREATE, "Save", "*.db", s.c_str())){
       saveDb(fileChooserGetName(1));
+      if(ps.size()){
+      	ps[0].setValue("");
+      	onelab::server::instance()->set(ps[0]);
+      	FlGui::instance()->rebuildTree(true);
+      }
+    }
+
     return;
   }
 
@@ -1960,6 +1975,7 @@ int metamodel_cb(const std::string &name, const std::string &action)
     onelab::string s1("Arguments/WorkingDir",
 		      split[0].size() ? split[0] : GetCurrentWorkdir());
     s1.setVisible(false);
+    s1.setAttribute("notInDb","True");
     onelab::server::instance()->set(s1);
     onelab::string s2("Arguments/FileName", split[1]);
     s2.setVisible(false);