Index: fittingview/src/sans/perspectives/fitting/basepage.py
===================================================================
--- fittingview/src/sans/perspectives/fitting/basepage.py	(revision b6685b2cf6bd85f58bc4b0f87866456a636cb109)
+++ fittingview/src/sans/perspectives/fitting/basepage.py	(revision e3f6ef584a5ae01e662ea218c7fa7fdd5773c86d)
@@ -1779,5 +1779,5 @@
                     break
     
-    def _draw_model(self, update_chisqr=True):
+    def _draw_model(self, update_chisqr=True, source='model'):
         """
         Method to draw or refresh a plotted model.
@@ -1810,4 +1810,5 @@
                                     enable2D=is_2d,
                                     update_chisqr=update_chisqr,
+                                    source='model',
                                     weight=weight)
         
Index: fittingview/src/sans/perspectives/fitting/fitpage.py
===================================================================
--- fittingview/src/sans/perspectives/fitting/fitpage.py	(revision c7e889888bc22230f2ce309e2fbad6dee86331b0)
+++ fittingview/src/sans/perspectives/fitting/fitpage.py	(revision e3f6ef584a5ae01e662ea218c7fa7fdd5773c86d)
@@ -2162,5 +2162,5 @@
         self._mac_sleep(0.1)  
         #plot model ( when drawing, do not update chisqr value again)
-        self._draw_model(update_chisqr=False)    
+        self._draw_model(update_chisqr=False, source = 'fit')    
         #PostStatusEvent     
         #msg = "Fit completed!dddd "
Index: fittingview/src/sans/perspectives/fitting/fitting.py
===================================================================
--- fittingview/src/sans/perspectives/fitting/fitting.py	(revision 05fb6d1281cdce362ccc2c4fbcf9283d46f7e77b)
+++ fittingview/src/sans/perspectives/fitting/fitting.py	(revision e3f6ef584a5ae01e662ea218c7fa7fdd5773c86d)
@@ -645,5 +645,5 @@
                    toggle_mode_on=False,
                    qmin=None, qmax=None, 
-                   update_chisqr=True, weight=None):
+                   update_chisqr=True, weight=None, source='model'):
         """
         Draw model.
@@ -675,5 +675,6 @@
                                toggle_mode_on=toggle_mode_on,
                                state=state,
-                               update_chisqr=update_chisqr)
+                               update_chisqr=update_chisqr,
+                               source=source)
         else:     
             ## draw model 2D with no initial data
@@ -689,5 +690,6 @@
                                 state=state,
                                 toggle_mode_on=toggle_mode_on,
-                                update_chisqr=update_chisqr)
+                                update_chisqr=update_chisqr,
+                                source=source)
             
     def onFit(self, uid):
@@ -1178,5 +1180,6 @@
                                   qmin=qmin, qmax=qmax, 
                                   update_chisqr=False, 
-                                  weight=weight)
+                                  weight=weight,
+                                  source='fit')
        
     def on_set_batch_result(self, page_id, fid, batch_outputs, batch_inputs):
@@ -1489,5 +1492,5 @@
                     weight=None, fid=None,
                     toggle_mode_on=False, state=None, 
-                    data=None, update_chisqr=True):
+                    data=None, update_chisqr=True, source='model'):
         """
         Complete plotting 1D data
@@ -1532,5 +1535,5 @@
             self.page_finder[page_id].set_fit_tab_caption(caption=caption)
             try:
-                if batch_on:
+                if source == 'fit':
                     # replace model cal to fit calculation if possible
                     new_plot.y = self.page_finder[page_id].get_result(fid=data.id).theory
@@ -1575,5 +1578,5 @@
     def _complete2D(self, image, data, model, page_id,  elapsed, index, qmin,
                 qmax, fid=None, weight=None, toggle_mode_on=False, state=None, 
-                     update_chisqr=True):
+                     update_chisqr=True, source='model'):
         """
         Complete get the result of modelthread and create model 2D
@@ -1613,5 +1616,5 @@
         title = new_plot.title
         batch_on = self.fit_panel.get_page_by_id(page_id).batch_on
-        if not batch_on:
+        if not source == 'fit':
             wx.PostEvent(self.parent, NewPlotEvent(plot=new_plot,
                                                title=title))
@@ -1651,5 +1654,5 @@
                       weight=None,
                       toggle_mode_on=False,
-                       update_chisqr=True):
+                       update_chisqr=True, source='model'):
         """
         draw model in 2D
@@ -1681,5 +1684,5 @@
                                     state=state,
                                     completefn=self._complete2D,
-                                    update_chisqr=update_chisqr)
+                                    update_chisqr=update_chisqr, source=source)
             self.calc_2D.queue()
 
@@ -1695,5 +1698,5 @@
                 weight=None,
                 fid=None, 
-                toggle_mode_on=False, update_chisqr=True, 
+                toggle_mode_on=False, update_chisqr=True, source='model',
                 enable1D=True):
         """
@@ -1723,5 +1726,6 @@
                                   completefn=self._complete1D,
                                   #updatefn = self._update1D,
-                                  update_chisqr=update_chisqr)
+                                  update_chisqr=update_chisqr,
+                                  source=source)
             self.calc_1D.queue()
         except:
Index: fittingview/src/sans/perspectives/fitting/model_thread.py
===================================================================
--- fittingview/src/sans/perspectives/fitting/model_thread.py	(revision f64a4b748c9e918384f698fff478f9a69e67d520)
+++ fittingview/src/sans/perspectives/fitting/model_thread.py	(revision e3f6ef584a5ae01e662ea218c7fa7fdd5773c86d)
@@ -23,4 +23,5 @@
                  updatefn=None,
                  update_chisqr=True,
+                 source='model',
                  yieldtime=0.04,
                  worktime=0.04
@@ -44,4 +45,5 @@
         self.starttime = 0  
         self.update_chisqr = update_chisqr
+        self.source = source
         
     def compute(self):
@@ -111,5 +113,6 @@
                        weight=self.weight,
                        #qstep=self.qstep,
-                       update_chisqr = self.update_chisqr)
+                       update_chisqr = self.update_chisqr,
+                       source=self.source)
         
 
@@ -130,4 +133,5 @@
                  completefn = None,
                  update_chisqr=True,
+                 source='model',
                  updatefn=None,
                  yieldtime=0.01,
@@ -152,4 +156,5 @@
         self.starttime = 0
         self.update_chisqr = update_chisqr
+        self.source = source
         
     def compute(self):
@@ -181,5 +186,6 @@
                       elapsed=elapsed,index=index, model=self.model,
                       data=self.data, 
-                      update_chisqr = self.update_chisqr)
+                      update_chisqr = self.update_chisqr,
+                      source=self.source)
         
     def results(self):
