Index: sansview/perspectives/fitting/fitting.py
===================================================================
--- sansview/perspectives/fitting/fitting.py	(revision fa65e996639027bc7b223b1a2ac9fabee2c194ea)
+++ sansview/perspectives/fitting/fitting.py	(revision 3fafe15ee1ca1b58f3857ba780b8212fcd0056f5)
@@ -594,5 +594,5 @@
         wx.PostEvent(self.parent, NewPlotEvent(id=id,
                                                    group_id=group_id,
-                                                   remove=True))
+                                                   action='remove'))
            
     def store_data(self, id, data=None, caption=None):
@@ -652,6 +652,5 @@
                     if group_id not in data.group_id:
                         data.group_id.append(group_id)
-            self.parent.update_data(prev_data=theory_data, new_data=data)
-                    
+            self.parent.update_data(prev_data=theory_data, new_data=data)       
         self.store_data(id=page.id, data=data, caption=page.window_name)
         if self.sim_page is not None:
@@ -1087,6 +1086,8 @@
         theory.ymin = ymin 
         theory.ymax = ymax 
-        theory.group_id = str(id) + "Model2D"
-        theory.id = str(id) + "Mode2D"
+        group_id = str(id) + " Model2D"
+        if group_id not in theory.group_id:
+            theory.group_id.append(group_id)
+        theory.id = str(id) + " Model2D"
   
                 
@@ -1126,5 +1127,5 @@
                 new_plot.is_data = False 
             new_plot.id =  str(id) + " Model1D"  
-            print "new_plot.id", new_plot.id
+            
             #find if this theory was already plotted and replace that plot given
             #the same id
@@ -1133,11 +1134,15 @@
                 if theory_data is not None:
                     temp_id = theory_data.id
-                    print "theory_data id", temp_id
                     new_plot.id = temp_id
-            if toggle_mode_on:
-                new_plot.id =  str(id) + " Model"  
+             
             new_plot.name = model.name + " ["+ str(model.__class__.__name__)+ "]"
             new_plot.xaxis(_xaxis, _xunit)
             new_plot.yaxis(_yaxis, _yunit)
+            if toggle_mode_on:
+                new_plot.id =  str(id) + " Model" 
+                wx.PostEvent(self.parent, 
+                             NewPlotEvent(group_id=str(id) + " Model2D",
+                                               action="Hide"))
+                print "toggle model on  -->1d"
             self.page_finder[id].set_theory_data(new_plot)
             if data is None:
@@ -1147,4 +1152,5 @@
             else:
                 data_id = data.id
+           
             self.parent.append_theory(data_id=data_id, 
                                           theory=new_plot, state=state)
@@ -1194,5 +1200,7 @@
         else:
             new_plot.id = str(id) + " Model2D"
-            new_plot.group_id = str(id) + " Model2D"
+            group_id = str(id) + " Model2D"
+            if group_id not in new_plot.group_id:
+                new_plot.group_id.append(group_id)
          
             new_plot.x_bins = data.x_bins
@@ -1216,4 +1224,9 @@
         theory_data = deepcopy(new_plot)
         theory_data.name = "Unknown"
+        if toggle_mode_on:
+            new_plot.id = str(id) + " Model"      
+            wx.PostEvent(self.parent, 
+                             NewPlotEvent(group_id=str(id) + " Model1D",
+                                               action="Hide"))
         self.page_finder[id].set_theory_data(theory_data)
         
@@ -1224,11 +1237,10 @@
         else:
             data_id = data.id
+        
         self.parent.append_theory(data_id=data_id, 
                                           theory=new_plot, state=state)
-        if toggle_mode_on:
-            new_plot.id = str(id) + " Model"      
         ## plot
         wx.PostEvent(self.parent, NewPlotEvent(plot=new_plot,
-                         title=new_plot.title))
+                                               title=new_plot.title))
         # Chisqr in fitpage
         current_pg = self.fit_panel.get_page_by_id(id)
