Index: sansview/perspectives/fitting/fitpanel.py
===================================================================
--- sansview/perspectives/fitting/fitpanel.py	(revision 3f1af7453e264cffd486565203b7549ce9c5960e)
+++ sansview/perspectives/fitting/fitpanel.py	(revision 3dc83be13f63c0b9e425d9158c47cbf2b63505c9)
@@ -115,5 +115,6 @@
         panel.set_manager(self.manager)
         panel.set_owner(self.event_owner)
-        self.nb.AddPage(page=panel,text=page_title,select=True)
+        #self.nb.AddPage(page=panel,text=page_title,select=True)
+        self.nb.AddPage(page=panel,text="Model",select=True)
         panel.populate_box( self.model_list_box)
         self.draw_model_name=page_title
@@ -125,6 +126,9 @@
         self.model_page.set_range(qmin, qmax, npts)
         
-        
-    def add_model_page(self,model,description,page_title, qmin=0, qmax=0.1, npts=50):
+        # We just created a model page, we are ready to plot the model
+        self.manager.draw_model(model, model.name)
+        
+        
+    def add_model_page(self,model,description,page_title, qmin=0, qmax=0.1, npts=50, topmenu=False):
         """
             Add a model page only one  to display any model selected from the menu or the page combo box.
@@ -141,9 +145,6 @@
         if  self.draw_model_name ==None:
             self._help_add_model_page(model,description,page_title, qmin=qmin, qmax=qmax, npts=npts)
-        else:
-            if  self.draw_model_name !=page_title: 
-                self.onClose(self.model_page, self.model_page_number)
-                self._help_add_model_page(model,description,page_title, qmin=qmin, qmax=qmax, npts=npts)
-      
+        elif topmenu==True:
+            self.model_page.select_model(model)
            
     def get_notebook(self):
Index: sansview/perspectives/fitting/fitting.py
===================================================================
--- sansview/perspectives/fitting/fitting.py	(revision cfc685406684509ac73dd8f0b4347b66712db60c)
+++ sansview/perspectives/fitting/fitting.py	(revision 3dc83be13f63c0b9e425d9158c47cbf2b63505c9)
@@ -642,10 +642,10 @@
             name = evt.model.name
         model=evt.model()
-        #name="Model View"
-        #print "mon menu",model.name
         description=model.description
-        #self.fit_panel.add_model_page(model,description,name)  
-    
-        self.draw_model(model=model,name=name)
+        
+        # Create a model page. If a new page is created, the model
+        # will be plotted automatically. If a page already exists,
+        # the content will be updated and the plot refreshed
+        self.fit_panel.add_model_page(model,description,name,topmenu=True)
         
     def draw_model(self,model,name ,description=None,enable1D=True, enable2D=False,
@@ -654,7 +654,4 @@
              draw model with default data value
         """
-        
-        self.fit_panel.add_model_page(model=model,description=model.description,page_title=name,
-                                      qmin=qmin, qmax=qmax, npts=qstep) 
         self._draw_model2D(model=model,
                            description=model.description,
@@ -702,6 +699,9 @@
                     new_plot.id ="Model"
                     new_plot.group_id ="Model"
+                    
+                    # Pass the reset flag to let the plotting event handler
+                    # know that we are replacing the whole plot
                     wx.PostEvent(self.parent, NewPlotEvent(plot=new_plot,
-                                     title="Analytical model 1D " ))
+                                     title="Analytical model 1D ", reset=True ))
                     
                 except:
@@ -742,5 +742,5 @@
         print "model draw comptele xmax",theory.xmax
         wx.PostEvent(self.parent, NewPlotEvent(plot=theory,
-                         title="Analytical model 2D %s" %str(model.name)))
+                         title="Analytical model 2D %s" %str(model.name), reset=True))
          
         
Index: sansview/perspectives/fitting/modelpage.py
===================================================================
--- sansview/perspectives/fitting/modelpage.py	(revision cfc685406684509ac73dd8f0b4347b66712db60c)
+++ sansview/perspectives/fitting/modelpage.py	(revision 3dc83be13f63c0b9e425d9158c47cbf2b63505c9)
@@ -229,6 +229,19 @@
         return 0
     
-  
-   
+    def select_model(self, model):
+        """
+            Select a new model
+            @param model: model object 
+        """
+        self.model= model
+        self.set_panel(model)
+        self._draw_model()
+        
+        # Select the model from the combo box
+        items = self.modelbox.GetItems()
+        for i in range(len(items)):
+            if items[i]==model.__class__.__name__:
+                self.modelbox.SetSelection(i)
+        
     def _on_select_model(self,event):
         """
@@ -245,5 +258,4 @@
                 self.model= model
                 self.set_panel(model)
-                print "name in model page", name,event.GetString()
                 self.name= name
                 #self.manager.draw_model(model, name)
