Index: fittingview/src/sans/perspectives/fitting/fitting.py
===================================================================
--- fittingview/src/sans/perspectives/fitting/fitting.py	(revision b5fe787aedccaa758f68445ba52125c5c6502a10)
+++ fittingview/src/sans/perspectives/fitting/fitting.py	(revision 7360816b0585435b61fd375ebb19d6fd72c7bc99)
@@ -113,4 +113,11 @@
         # Log startup
         logging.info("Fitting plug-in started") 
+        self.batch_capable = self.get_batch_capable()
+    
+    def get_batch_capable(self):
+        """
+        Check if the plugin has a batch capability
+        """
+        return True
     
     def create_fit_problem(self, page_id):
Index: sansguiframe/src/sans/guiframe/data_panel.py
===================================================================
--- sansguiframe/src/sans/guiframe/data_panel.py	(revision d03a356a7108103c61260fe6a4e33ef6dde4fe95)
+++ sansguiframe/src/sans/guiframe/data_panel.py	(revision 7360816b0585435b61fd375ebb19d6fd72c7bc99)
@@ -279,5 +279,6 @@
         self.bt_freeze = wx.Button(self, wx.NewId(), "Freeze Theory", 
                                    size=(BUTTON_WIDTH, -1))
-        freeze_tip = "To trigger freeze a theory: making a copy to Data box,\n"
+        freeze_tip = "To trigger freeze a theory: making a copy\n"
+        freeze_tip += "of the theory checked to Data box,\n"
         freeze_tip += "     so that it can act like a real data set."
         self.bt_freeze.SetToolTipString(freeze_tip)
@@ -299,14 +300,14 @@
                              (self.bt_remove),
                              ((10, 10)),
+                             (self.bt_freeze),
+                             ((10, 10)),
+                             (self.bt_plot),
+                             ((10, 10)),
+                             (self.bt_append_plot),
+                             (self.cb_plotpanel, wx.EXPAND|wx.ADJUST_MINSIZE, 5),
+                             ((10, 10)),
+                             ((10, 10)),
                              (self.bt_import, 0, wx.EXPAND|wx.RIGHT, 5),
-                              (self.perspective_cbox, wx.EXPAND|wx.ADJUST_MINSIZE, 5),
-                              (self.bt_append_plot),
-                              (self.cb_plotpanel, wx.EXPAND|wx.ADJUST_MINSIZE, 5),
-                              (self.bt_plot),
-                              ((10, 10)),
-                              (self.bt_freeze),
-                              #((10, 10)),
-                              #(self.bt_close_plot),
-                              ((10, 10))])
+                             (self.perspective_cbox, wx.EXPAND|wx.ADJUST_MINSIZE, 5)])
 
         self.sizer3.AddGrowableCol(1, 1)
@@ -803,5 +804,15 @@
             perspective = self.perspective_cbox.GetClientData(selection)
             perspective.on_perspective(event=None)
-        
+            flag = perspective.get_batch_capable()
+            flag_on = perspective.batch_on
+            if flag:
+                self.rb_single_mode.SetValue(not flag_on)
+                self.rb_batch_mode.SetValue(flag_on)
+            else:
+                self.rb_single_mode.SetValue(True)
+                self.rb_batch_mode.SetValue(False)
+            self.rb_single_mode.Enable(flag)
+            self.rb_batch_mode.Enable(flag)
+                
     def _on_plot_selection(self, event=None):
         """
Index: sansguiframe/src/sans/guiframe/plugin_base.py
===================================================================
--- sansguiframe/src/sans/guiframe/plugin_base.py	(revision 47ead24a186efdcb50e94ace4f66d44f4181b19a)
+++ sansguiframe/src/sans/guiframe/plugin_base.py	(revision 7360816b0585435b61fd375ebb19d6fd72c7bc99)
@@ -52,5 +52,12 @@
         self.color = None
         self.id = -1
-        
+        self.batch_capable = self.get_batch_capable()
+    
+    def get_batch_capable(self):
+        """
+        Check if the plugin has a batch capability
+        """
+        return False
+         
     def add_color(self, color, id):
         """
