diff --git a/js/app/models/PlotObjects/MultiplotRequestObject.js b/js/app/models/PlotObjects/MultiplotRequestObject.js
index 38b6b0c..609d117 100644
--- a/js/app/models/PlotObjects/MultiplotRequestObject.js
+++ b/js/app/models/PlotObjects/MultiplotRequestObject.js
@@ -57,7 +57,7 @@ Ext.define('amdaPlotObj.MultiplotRequestObject', {
                 newPlotNode = Ext.create('amdaModel.PlotNode', {
                     leaf : true
                 });
-		var data = Ext.apply({}, plotNode.get('object').getData(), plotNode.get('object').getAssociatedData());
+		var data = plotNode.get('object').getJsonValues();
                 newPlotNode.set('object', Ext.create('amdaPlotObj.PlotRequestObject', data));
 		plotNode.get('object').reject();
                 me.plots().remove(plotNode);
diff --git a/js/app/views/PlotComponents/PlotTabContent.js b/js/app/views/PlotComponents/PlotTabContent.js
index ff6fe88..a87849a 100644
--- a/js/app/views/PlotComponents/PlotTabContent.js
+++ b/js/app/views/PlotComponents/PlotTabContent.js
@@ -21,6 +21,9 @@ Ext.define('amdaPlotComp.PlotTabContent', {
     //Link to the Plot Node
     plotNode: null,
 
+    //Save initial request data to have the possibility to reject all modifications
+    initialObjectData: null,
+
     timeSelector: null,
     plotTree: null,
     plotElement: null,
@@ -69,6 +72,7 @@ Ext.define('amdaPlotComp.PlotTabContent', {
             //update existing request
             this.updateTimeObject();
             this.plotNode.update({plot: true, callback: function() {
+                me.setPlotNode(me.plotNode); //to update initial request data
                 me.plotTabPanel.updatePlotTabs();
             }});
             return;
@@ -113,6 +117,7 @@ Ext.define('amdaPlotComp.PlotTabContent', {
         if (toRename) {
             this.updateTimeObject();
             this.plotNode.update({plot: true, callback: function() {
+                me.setPlotNode(me.plotNode); //to update initial request data
                 me.plotTabPanel.updatePlotTabs();
             }});
         }
@@ -124,15 +129,17 @@ Ext.define('amdaPlotComp.PlotTabContent', {
                     return;
                 var newPlotNode = plotModule.linkedNode.get('object').duplicatePlot(this.plotNode);
                 if (newPlotNode) {
-                    var oldPlotNode = this.plotNode;
-                    this.plotNode = newPlotNode;
-                    this.updateTimeObject();
-                    oldPlotNode.reject();
+                    //Reject modifications in old plot node
+                    this.plotNode.reject();
+                    this.plotNode.set('object', Ext.create('amdaPlotObj.PlotRequestObject', this.initialObjectData));
+                    //Set new plot node
+                    this.setPlotNode(newPlotNode);
                 }
             }
             this.updateTimeObject();
             this.plotNode.create({callback: function() {
                 me.plotNode.commit();
+                me.setPlotNode(me.plotNode); //to update initial request data
                 me.plotTabPanel.updatePlotTabs();
                 me.updateUI();
             }});
@@ -147,8 +154,13 @@ Ext.define('amdaPlotComp.PlotTabContent', {
         this.treePlot.buildTree(this.plotNode.get('object'));
     },
 
+    setPlotNode : function(plotNode) {
+        this.initialObjectData = plotNode.get('object').getJsonValues();
+        this.plotNode = plotNode;
+    },
+
     init : function(config) {
-        this.plotNode = config.plotNode;
+        this.setPlotNode(config.plotNode);
         this.tabIndex = config.tabIndex;
         this.plotTabPanel = config.plotTabPanel;
 
--
libgit2 0.21.2