diff --git a/js/app/models/AmdaNode.js b/js/app/models/AmdaNode.js
index 8260c84..4fba647 100644
--- a/js/app/models/AmdaNode.js
+++ b/js/app/models/AmdaNode.js
@@ -128,20 +128,7 @@ Ext.define('amdaModel.AmdaNode', {
 		}
 		// if this node is a leaf and have no child
 		else if (this.isLeaf() || this.get('nodeType' ) ==  'derivedParam' ) {
-			if (this.get('nodeType')  == 'plottab') {
-				itemKind = amdaUI.ExplorerUI.ITEM_KIND_PTAB;
-			}
-			else {
-				itemKind = amdaUI.ExplorerUI.ITEM_KIND_LEAF;
-			}
-		}
-		else if (this.get('nodeType')  ==  'request') {
-			if (this.get('tabs') && (this.get('tabs').length > 0)) {
-				itemKind = amdaUI.ExplorerUI.ITEM_KIND_LEAF;
-			}
-			else {
-				itemKind = amdaUI.ExplorerUI.ITEM_KIND_DIRE;
-			}
+			itemKind = amdaUI.ExplorerUI.ITEM_KIND_LEAF;
 		}
 		else if (this.get('isParameter') &&  this.get('nodeType' ) !=  'derivedParam' ) {
 					itemKind = amdaUI.ExplorerUI.ITEM_KIND_PARA;
diff --git a/js/app/models/DownloadNode.js b/js/app/models/DownloadNode.js
index cda2b1b..72e7932 100644
--- a/js/app/models/DownloadNode.js
+++ b/js/app/models/DownloadNode.js
@@ -73,7 +73,8 @@ Ext.define('amdaModel.DownloadNode', {
 			var fullObject = obj;
 		}
 	   	  
-		var i = 0;		
+		var i = 0;
+		// Todo - BRE - PLOTSAVE
 		fullObject.tabs().each(function (tab) {
 			// only active tab			
 			if (tab.get('id') == fullObject.get('last-plotted-tab'))
diff --git a/js/app/models/InteractiveNode.js b/js/app/models/InteractiveNode.js
index 002dfc9..9e139de 100644
--- a/js/app/models/InteractiveNode.js
+++ b/js/app/models/InteractiveNode.js
@@ -52,7 +52,7 @@ Ext.define('amdaModel.InteractiveNode', {
 			{
 				node.eachChild(function(n)
 					{
-						if (!n.isLoaded() && !n.isRealLeaf())
+						if (!n.isLoaded() && !n.isLeaf())
 						{
 							nodesToLoad.push(n);
 							me.preloadTreeNode(n,nodesToLoad,onloaded);
@@ -70,7 +70,7 @@ Ext.define('amdaModel.InteractiveNode', {
 					{
 						records.forEach(function (record)
 							{
-								if (!record.isLoaded() && !record.isRealLeaf())
+								if (!record.isLoaded() && !record.isLeaf())
 									{
 										nodesToLoad.push(record);
 										me.preloadTreeNode(record,nodesToLoad,onloaded);
@@ -100,11 +100,6 @@ Ext.define('amdaModel.InteractiveNode', {
 		}
 	},
 
-	isRealLeaf: function()
-	{
-		return this.isLeaf();
-	},
-
 /**
 * this method is overriden into ExecutableNode to return true
 */
@@ -151,7 +146,7 @@ Ext.define('amdaModel.InteractiveNode', {
 */
 	rename: function(value,callBackFn)
 	{
-		var dataToSend = {id : this.get('id'), old_name: this.modified.text, name: value,  parent : this.data.parentId, leaf: this.isRealLeaf(), nodeType: this.get('nodeType')};
+		var dataToSend = {id : this.get('id'), old_name: this.modified.text, name: value,  parent : this.data.parentId, leaf: this.isLeaf(), nodeType: this.get('nodeType')};
 		AmdaAction.renameObject(dataToSend, callBackFn);
 	},
 
@@ -160,7 +155,7 @@ Ext.define('amdaModel.InteractiveNode', {
 */
 	renameDD: function(parentId, callBackFn)
 	{
-		var dataToSend = {id : this.get('id'), old_name: this.get('name'), name: this.get('name'), parent : parentId, leaf: this.isRealLeaf(), nodeType: this.get('nodeType')};
+		var dataToSend = {id : this.get('id'), old_name: this.get('name'), name: this.get('name'), parent : parentId, leaf: this.isLeaf(), nodeType: this.get('nodeType')};
 		AmdaAction.renameObject(dataToSend, callBackFn);
 	},
 
@@ -171,7 +166,7 @@ Ext.define('amdaModel.InteractiveNode', {
 */
 	isValidName : function(name, callBackFn)
 	{
-		var dataToSend = {name: name, nodeType: this.get('nodeType'), leaf: this.isRealLeaf()};
+		var dataToSend = {name: name, nodeType: this.get('nodeType'), leaf: this.isLeaf()};
 		AmdaAction.validNameObject(dataToSend, callBackFn);
 	},
 
@@ -530,7 +525,7 @@ Ext.define('amdaModel.InteractiveNode', {
 
 	deleteNode: function() {
 			// if the target is a directory
-			if (!this.isRealLeaf()) {
+			if (!this.isLeaf()) {
 				// determine if this directory is empty before launching the delete confirmation method
 				this.isNotEmptyDir(this.confirmDirectoryDeletion);
 			// else (the target is a leaf)
@@ -583,14 +578,14 @@ Ext.define('amdaModel.InteractiveNode', {
 */
 	realDelete : function()
 	{
-		AmdaAction.deleteObject({id: this.get('id'), leaf: this.isRealLeaf(), nodeType: this.get('nodeType')}, function(res,e){
+		AmdaAction.deleteObject({id: this.get('id'), leaf: this.isLeaf(), nodeType: this.get('nodeType')}, function(res,e){
 			//TODO proper errors handling
 			// node deletion in tree
 			if (res) {  // if success
 				if (res.id) {
 					//Ext.Msg.show({title:'Warning', msg: 'Requests with parameter '+node.data.text+' are deleted', icon: Ext.MessageBox.ERROR, buttons: Ext.Msg.OK});
 					if (this.parentNode) {
-						if (this.isRealLeaf()){
+						if (this.isLeaf()){
 							var moduleId = this.get('moduleId');
 							// if really interactive node
 							if (moduleId) {
diff --git a/js/app/models/PlotNode.js b/js/app/models/PlotNode.js
index dc783e5..b5edde3 100644
--- a/js/app/models/PlotNode.js
+++ b/js/app/models/PlotNode.js
@@ -10,47 +10,15 @@
 Ext.define('amdaModel.PlotNode', {
 	extend: 'amdaModel.ExecutableNode',
 
-    fields : [
-        {name : 'tabs', type:'auto', defaultValue:false,  persist:  false}
-    ],
-
     statics: {
         nodeType: 'request' 
     },
 
-    requires:[
-        'amdaModel.PlotTabNode'
-    ],
-
     constructor : function(config){
         this.callParent(arguments);
         this.set('moduleId',myDesktopApp.dynamicModules.plot.id);
         this.set('objectDataModel','amdaPlotObj.PlotRequestObject');
         this.set('nodeType',this.self.nodeType);
-	if (this.get('leaf')) {
-		this.updateTabs(this.get('tabs'));
-	}
-    },
-
-    updateTabs : function(tabs) {
-	if (tabs) {
-		var oneTab = (tabs.length == 1);
-        	this.set('leaf', oneTab); 
-		this.set('iconCls', oneTab ? 'icon-plot-page' : 'icon-plot-pages');
-		this.removeAll();
-		if (tabs.length > 1) {
-			var me = this;
-			Ext.Array.each(tabs, function(tab) {
-				var tabNode = new amdaModel.PlotTabNode({text: tab.name, tabid: tab.id});
-              			me.appendChild(tabNode);
-			});
-		}
-		this.set('tabs', tabs);
-	}
-    },
-
-    specialUpdate : function(res) {
-	this.updateTabs(res.tabs);
     },
 
     allMenuItems : function() {
@@ -76,10 +44,6 @@ Ext.define('amdaModel.PlotNode', {
          }, {
              fnId : 'leaf-deleteNode',
              text : 'Delete Request'
-         }, {
-             fnId : 'leaf-insertTabs',
-             text : 'Insert in current Plot Request'
-
          }];
 
         return menuItems;
@@ -128,35 +92,8 @@ Ext.define('amdaModel.PlotNode', {
         case 'deleteMulti':
             this.deleteMulti();
             break;
-        case 'insertTabs':
-	    this.insertPlotTabsRequest();
         default:
             break;
         }
-    },
-
-    isRealLeaf: function()
-    {
-	var isFolder = (!this.isLeaf()) && (this.get('tabs') === false);
-        return !isFolder;
-    },
-
-    insertPlotTabsRequest: function() {
-	var me = this;
-	AmdaAction.getObject(me.get('id'), me.get('nodeType'), function (result,remoteEvent) {
-		var paramObj = Ext.create(me.get('objectDataModel'), result);
-		myDesktopApp.getLoadedModule(me.get('moduleId'), true, function (module) {
-			module.createWindow(function () {
-				var uiContent = module.getUiContent();
-				if (uiContent != null) {
-					paramObj.tabs().each(function (tab) {
-						var tabData = tab.getJsonValues();
-						uiContent.insertPlotTab(tabData);
-					});
-				}
-			});
-		});
-	});
     }
-   
 });
diff --git a/js/app/models/PlotTabNode.js b/js/app/models/PlotTabNode.js
deleted file mode 100644
index d81703c..0000000
--- a/js/app/models/PlotTabNode.js
+++ /dev/null
@@ -1,164 +0,0 @@
-/** 
- * Project  : AMDA-NG4
- * Name     : PlotTabNode.js
- * @class   amdaModel.PlotTabNode
- * @extends amdaModel.ExecutableNode
- * @brief   Basic Model of Node corresponding to a tab of a plot request
- * @author  Benjamin Renard
- */
-
-Ext.define('amdaModel.PlotTabNode', {
-	extend: 'amdaModel.ExecutableNode',
-
-    fields : [
-        {name : 'tabid', type:'string', defaultValue:'',  persist:  false}
-    ],
-
-    statics: {
-        nodeType: 'plottab' 
-    },
-
-    constructor : function(config){
-        this.callParent(arguments);
-        this.set('moduleId',myDesktopApp.dynamicModules.plot.id);
-        //this.set('objectDataModel','amdaPlotObj.PlotRequestObject');
-        this.set('nodeType',this.self.nodeType);
-	this.set('leaf',true);
-	this.set('iconCls','icon-plot-page');
-    },
-
-    allMenuItems : function() {
-        var menuItems =
-         [
-         {
-            fnId : 'ptab-openTab',
-            text : 'Open in new Plot Request'
-         }, {
-	    fnId : 'ptab-insertTab',
-            text : 'Insert in current Plot Request'
-	 }, {
-             fnId : 'ptab-renameTab',
-             text : 'Rename Plot Tab'
-         }];
-
-        return menuItems;
-    }, 
-    
-    allMenuMultiItems : function() {
-        var menuMulti = [
-        ];
-        return menuMulti;
-    },
-    
-    getAllContextMenuItems: function(){
-        return this.allMenuItems();
-    },
-    
-    getMultiContextMenuItems: function(){
-        return this.allMenuMultiItems();
-    },
-    
-    onMenuItemClick : function(menu,item,event) {
-		 
-        var fnId = Ext.util.Format.substr(item.fnId, 5, item.fnId.length);
-
-        switch (fnId) {
-
-        case 'openTab':
-            this.insertPlotTabRequest(true);
-            break;
-
-        case 'insertTab':
-	    this.insertPlotTabRequest(false);
-            break;
-
-        case 'renameTab':
-	    this.renameTab();
-            break;
-        default:
-            break;
-        }
-    },
-
-    insertPlotTabRequest : function(inNewRequest) {
-	var me = this;
-	amdaModel.InteractiveNode.preloadNodes(this.parentNode.getRootNode(), function() {
-		AmdaAction.getObject(me.parentNode.get('id'), me.parentNode.get('nodeType'), function (result,remoteEvent) {
-			var paramObj = Ext.create(me.parentNode.get('objectDataModel'), result);
-			var tabData = null;
-			paramObj.tabs().each(function(tab) {
-				if (tab.get('id') == me.get('tabid')) {
-					tabData = tab.getJsonValues();
-				}
-			});
-			if (tabData != null) {
-				if (inNewRequest) {
-					tabData['id'] = 1;
-					paramObj.set('id','');
-					paramObj.set('name', '');
-					paramObj.set('folderId', '');
-					paramObj.set('active-tab-id', 1);
-					paramObj.set('last-tab-id', 1);
-					paramObj.set('last-plotted-tab', 1);
-					paramObj.loadTabs([tabData]);
-					myDesktopApp.getLoadedModule(me.get('moduleId'), true, function (module) {
-						module.setContextNode(me.parentNode.getRootNode());
-						module.createWindow(function () {
-							var uiContent = module.getUiContent();
-							if (uiContent != null) {
-								uiContent.resetProcess(paramObj.getJsonValues());
-							}
-						});
-					});
-				}
-				else {
-					myDesktopApp.getLoadedModule(me.get('moduleId'), true, function (module) {
-						module.createWindow(function () {
-							var uiContent = module.getUiContent();
-							if (uiContent != null) {
-								var tabObj = new amdaPlotObj.PlotTabObject(tabData);
-								uiContent.insertPlotTab(tabData);
-							}
-						});
-					});
-				}
-			}
-		}, me);
-	});
-    },
-
-    editPlotTab : function() {
-	var me = this;
-	this.parentNode.editLeaf(function () {
-		myDesktopApp.getLoadedModule(me.get('moduleId'), true, function (module) {
-			var uiContent = module.getUiContent();
-			if (uiContent != null) {
-				uiContent.forceActiveTab(me.get('tabid'));
-			}
-		});
-	});
-    },
-
-    renameTab: function() {
-	if (this.myGetOwnerTree()) {
-		var item = this.myGetOwnerTree().getSelectionModel().selected.items[0];
-		this.myGetOwnerTree().fireEvent('edition', this.myGetOwnerTree().view, item);
-	}
-    },
-
-    rename: function(value,callBackFn) {
-		var me = this;
-                var dataToSend = {id : this.get('tabid'), old_name: this.modified.text, name: value,  parent : this.data.parentId, leaf: this.isLeaf(), nodeType: this.get('nodeType')};
-		AmdaAction.renameObject(dataToSend, function (result) {
-			callBackFn(result);
-			myDesktopApp.getLoadedModule(me.get('moduleId'), true, function (module) {
-				var uiContent = module.getUiContent();
-				if (uiContent != null) {
-					if ((module.linkedNode != null) && (module.linkedNode.get('id') == dataToSend.parent)) {
-						uiContent.updatePlotTabName(dataToSend.id, dataToSend.name);
-					}
-				}
-			});
-		});
-        },
-});
diff --git a/js/app/views/ExplorerUI.js b/js/app/views/ExplorerUI.js
index bb81986..ae48d1d 100644
--- a/js/app/views/ExplorerUI.js
+++ b/js/app/views/ExplorerUI.js
@@ -102,7 +102,6 @@ Ext.define('amdaUI.ExplorerUI', {
 		ITEM_KIND_LEAF : 'leaf',
 		ITEM_KIND_DIRE : 'dire',
 		ITEM_KIND_PARA : 'para',
-		ITEM_KIND_PTAB : 'ptab', //plot tab
 		ITEM_KIND_MISS : 'miss'
 	},
 
@@ -354,7 +353,6 @@ Ext.define('amdaUI.ExplorerUI', {
 							case 'remoteParam' :
 							case 'remoteSimuParam' :
 							case 'myData' :
-							case 'plottab' :
 								return false;
 							default :
 								if (draggedRecord.data.id == targetNode.data.nodeType+'-treeRootNode')
@@ -577,7 +575,7 @@ Ext.define('amdaUI.ExplorerUI', {
 						});
 					}
 
-					if (record.isLeaf() || record.data.isParameter || (record.data.tabs && (record.data.tabs.length > 0)))                                                                                                                                     
+					if (record.isLeaf() || record.data.isParameter)                                                                                                                                     
 						switch (record.get('nodeType'))
 						{
 							case 'myData' :
@@ -591,9 +589,6 @@ Ext.define('amdaUI.ExplorerUI', {
 							case 'condition' :
 								record.editLeaf();
 								break;
-							case 'plottab' :
-								record.editPlotTab();
-								break;
 							case 'localParam' :
 							case 'remoteParam':
 							case 'remoteSimuParam':
@@ -1029,7 +1024,7 @@ Ext.define( 'MyTreeEditor', {
 									event.record.commit();
 									var rec = event.record.data;
 									// in case of directory
-									if (!rec.leaf && (rec.nodeType != 'plottab')){
+									if (!rec.leaf){
 										// set folder's ID returned by server
 										rec.id = result.id;
 									}
diff --git a/js/resources/css/amda.css b/js/resources/css/amda.css
index 5a0ffeb..ceb7d71 100644
--- a/js/resources/css/amda.css
+++ b/js/resources/css/amda.css
@@ -462,10 +462,6 @@ p + p {
 	background-image:url( ../images/16x16/plot_page.png ) !important;
 }
 
-.icon-plot-pages {
-	background-image:url( ../images/16x16/plot_pages.png ) !important;
-}
-
 .icon-plot-layout {
 	background-image:url( ../images/16x16/plot_layout.png ) !important;
 }
diff --git a/js/resources/images/16x16/plot_pages.png b/js/resources/images/16x16/plot_pages.png
deleted file mode 100644
index 087c12b..0000000
Binary files a/js/resources/images/16x16/plot_pages.png and /dev/null differ
--
libgit2 0.21.2