Index: src/sas/_config.py
===================================================================
--- src/sas/_config.py	(revision 88e1f57e340b062a07d1e5693c8b7b8a4edc4b32)
+++ src/sas/_config.py	(revision f7d14a125bc33f8082b369f49924cc2c4827c4ea)
@@ -110,5 +110,5 @@
         try:
             module = load_module_from_path('sas.custom_config', path)
-            logger.info("GuiManager loaded %s", path)
+            #logger.info("GuiManager loaded %s", path)
             return module
         except Exception as exc:
Index: src/sas/qtgui/MainWindow/UnitTesting/DataExplorerTest.py
===================================================================
--- src/sas/qtgui/MainWindow/UnitTesting/DataExplorerTest.py	(revision 88e1f57e340b062a07d1e5693c8b7b8a4edc4b32)
+++ src/sas/qtgui/MainWindow/UnitTesting/DataExplorerTest.py	(revision f7d14a125bc33f8082b369f49924cc2c4827c4ea)
@@ -37,5 +37,5 @@
             def allowBatch(self):
                 return False
-            def setData(self, data_item=None):
+            def setData(self, data_item=None, is_batch=False):
                 return None
             def title(self):
@@ -170,10 +170,6 @@
 
         # Populate the model
-        #filename = ["cyl_400_20.txt", "P123_D2O_10_percent.dat", "cyl_400_20.txt"]
-        filename = ["cyl_400_20.txt", "cyl_400_20.txt", "P123_D2O_10_percent.dat"]
+        filename = ["cyl_400_20.txt", "cyl_400_20.txt", "cyl_400_20.txt"]
         self.form.readData(filename)
-
-        self.form.show()
-        app.exec_()
 
         # Assure the model contains three items
Index: src/sas/qtgui/Perspectives/Fitting/FittingWidget.py
===================================================================
--- src/sas/qtgui/Perspectives/Fitting/FittingWidget.py	(revision 5d1440e1062d276dc7d5a7af6574d1ed82c960da)
+++ src/sas/qtgui/Perspectives/Fitting/FittingWidget.py	(revision f7d14a125bc33f8082b369f49924cc2c4827c4ea)
@@ -146,4 +146,6 @@
     def data(self, value):
         """ data setter """
+        # Value is either a list of indices for batch fitting or a simple index
+        # for standard fitting. Assure we have a list, regardless.
         if isinstance(value, list):
             self.is_batch_fitting = True
@@ -159,4 +161,5 @@
 
         # Update logics with data items
+        # Logics.data contains only a single Data1D/Data2D object
         self.logic.data = GuiUtils.dataFromItem(value[0])
 
@@ -164,4 +167,5 @@
         self.is2D = True if isinstance(self.logic.data, Data2D) else False
 
+        # Let others know we're full of data now
         self.data_is_loaded = True
 
@@ -343,4 +347,5 @@
         self.chk2DView.setVisible(False)
         self.chkMagnetism.setEnabled(self.is2D)
+        self.tabFitting.setTabEnabled(TAB_MAGNETISM, self.is2D)
         # Combo box or label for file name"
         if self.is_batch_fitting:
@@ -354,4 +359,7 @@
         # Similarly on other tabs
         self.options_widget.setEnablementOnDataLoad()
+
+        # Reload the model
+        self.onSelectModel()
 
         # Smearing tab
Index: src/sas/qtgui/Perspectives/Fitting/UnitTesting/FittingWidgetTest.py
===================================================================
--- src/sas/qtgui/Perspectives/Fitting/UnitTesting/FittingWidgetTest.py	(revision c7358b24e5032be5648d823d4c423fe8a39ef5b0)
+++ src/sas/qtgui/Perspectives/Fitting/UnitTesting/FittingWidgetTest.py	(revision f7d14a125bc33f8082b369f49924cc2c4827c4ea)
@@ -20,6 +20,6 @@
 from sas.qtgui.Plotting.PlotterData import Data2D
 
-if not QtGui.QApplication.instance():
-    app = QtGui.QApplication(sys.argv)
+#if not QtGui.QApplication.instance():
+app = QtGui.QApplication(sys.argv)
 
 class dummy_manager(object):
@@ -784,4 +784,63 @@
         self.assertEqual(self.widget.cbModel.currentText(), 'onion')
         self.assertTrue(self.widget.chkPolydispersity.isChecked())
+        #Check if polidispersity tab is available
+        self.assertTrue(self.widget.tabFitting.isTabEnabled(3))
+
+        #Check if magnetism box and tab are disabled when 1D data is loaded
+        self.assertFalse(self.widget.chkMagnetism.isEnabled())
+        self.assertFalse(self.widget.tabFitting.isTabEnabled(4))
+
+    def testReadFitPage2D(self):
+        """
+        Read in the fitpage object and restore state
+        """
+        # Set data
+
+        test_data = Data2D(image=[1.0, 2.0, 3.0],
+                           err_image=[0.01, 0.02, 0.03],
+                           qx_data=[0.1, 0.2, 0.3],
+                           qy_data=[0.1, 0.2, 0.3],
+                           xmin=0.1, xmax=0.3, ymin=0.1, ymax=0.3,
+                           mask=[True, True, True])
+
+        # Force same data into logic
+        self.widget.logic.data = test_data
+        self.widget.data_is_loaded = True
+
+        #item = QtGui.QStandardItem()
+        #updateModelItem(item, [test_data], "test")
+        # Force same data into logic
+        #self.widget.logic.data = item
+        #self.widget.data_is_loaded = True
+
+        category_index = self.widget.cbCategory.findText("Cylinder")
+        self.widget.cbCategory.setCurrentIndex(category_index)
+
+        # Test no fitting params
+        self.widget.parameters_to_fit = ['scale']
+
+        # Invoke the tested method
+        fp = self.widget.currentState()
+
+        # Prepare modified fit page
+        fp.current_model = 'cylinder'
+        fp.is_polydisperse = True
+        fp.is_magnetic = True
+        fp.is2D = True
+
+        # Read in modified state
+        self.widget.readFitPage(fp)
+
+        # Check if the widget got updated accordingly
+        self.assertEqual(self.widget.cbModel.currentText(), 'cylinder')
+        self.assertTrue(self.widget.chkPolydispersity.isChecked())
+        self.assertTrue(self.widget.chkPolydispersity.isEnabled())
+        #Check if polidispersity tab is available
+        self.assertTrue(self.widget.tabFitting.isTabEnabled(3))
+
+        #Check if magnetism box and tab are disabled when 1D data is loaded
+        self.assertTrue(self.widget.chkMagnetism.isChecked())
+        self.assertTrue(self.widget.chkMagnetism.isEnabled())
+        self.assertTrue(self.widget.tabFitting.isTabEnabled(4))
 
     def testCurrentState(self):
