Index: src/sas/sasgui/perspectives/calculator/model_editor.py
===================================================================
--- src/sas/sasgui/perspectives/calculator/model_editor.py	(revision 2469df7fc9ffa047115c5bffe589ed307b12c363)
+++ src/sas/sasgui/perspectives/calculator/model_editor.py	(revision c6dfb9f046833f237adda045c26f0ae7a04a6284)
@@ -391,4 +391,5 @@
         self._msg_box.SetLabel(msg)
         self._msg_box.SetForegroundColour(color)
+        self._set_model_list()
         if self.parent.parent is not None:
             from sas.sasgui.guiframe.events import StatusEvent
@@ -432,4 +433,6 @@
         if len(main_list) > 1:
             main_list.sort()
+        self.model1.Clear()
+        self.model2.Clear()
         for idx in range(len(main_list)):
             self.model1.Append(str(main_list[idx]), idx)
Index: src/sas/sasgui/perspectives/fitting/fitpage.py
===================================================================
--- src/sas/sasgui/perspectives/fitting/fitpage.py	(revision bfeb823d6565a781d46f2b3a96dce997cb3fab28)
+++ src/sas/sasgui/perspectives/fitting/fitpage.py	(revision a7c6f38e460b03102c3235b21c334a55fd344082)
@@ -365,5 +365,5 @@
         # StaticText for chi2, N(for fitting), Npts + Log/linear spacing
         self.tcChi = BGTextCtrl(self, wx.ID_ANY, "-", size=(75, 20), style=0)
-        self.tcChi.SetToolTipString("Chi2/Npts(Fit)")
+        self.tcChi.SetToolTipString("Chi2/DOF (DOF=Npts-Npar fitted)")
         self.Npts_fit = BGTextCtrl(self, wx.ID_ANY, "-", size=(75, 20), style=0)
         self.Npts_fit.SetToolTipString(
@@ -391,5 +391,5 @@
         self.points_sizer.Add(self.pointsbox)
 
-        box_description_1 = wx.StaticText(self, wx.ID_ANY, '   Chi2/Npts')
+        box_description_1 = wx.StaticText(self, wx.ID_ANY, 'Reduced Chi2')
         box_description_2 = wx.StaticText(self, wx.ID_ANY, 'Npts(Fit)')
 
Index: src/sas/sasgui/perspectives/fitting/media/fitting_help.rst
===================================================================
--- src/sas/sasgui/perspectives/fitting/media/fitting_help.rst	(revision 5005ae0a7e3ed07742271fca99651ba5c55aa8b0)
+++ src/sas/sasgui/perspectives/fitting/media/fitting_help.rst	(revision 47ace500b69b84227cf32c9ef9bb1118c093b7e2)
@@ -426,26 +426,30 @@
 See :ref:`Assessing_Fit_Quality`.
 
-The objective of model-fitting is to find a *physically-plausible* model, and set
-of model parameters, that generate a theory that reproduces the experimental data
-and gives residual values as close to zero as possible.
+The objective of model-fitting is to find a *physically-plausible* model, and
+set of model parameters, that generate a theory that reproduces the experimental
+data and minimizes the values of the residuals.
 
 Change the default values of the model parameters by hand until the theory line
-starts to represent the experimental data. Then uncheck the tick boxes alongside
-all parameters *except* the 'background' and the 'scale'. Click the *Fit* button.
-SasView will optimise the values of the 'background' and 'scale' and also display
-the corresponding uncertainties on the optimised values.
-
-*NB: If no uncertainty is shown it generally means that the model is not very*
-*dependent on the corresponding parameter (or that one or more parameters are*
-*'correlated').*
-
-In the bottom left corner of the *Fit Page* is a box displaying the normalised value
-of the statistical $\chi^2$ parameter returned by the optimiser.
+starts to represent the experimental data. Then check the tick boxes alongside
+the 'background' and 'scale' parameters. Click the *Fit* button. SasView
+will optimise the values of the 'background' and 'scale' and also display the
+corresponding uncertainties on the optimised values.
+
+.. note::
+   If the uncertainty on a fitted parameter is unrealistically large, or if it
+   displays as NaN, the model is most likely a poor representation of the data,
+   the parameter in question is highly correlated with one or more of the other
+   fitted parameters, or the model is relatively insensitive to the value of
+   that particular parameter.
+
+In the bottom left corner of the *Fit Page* is a box displaying a normalised
+value of the statistical $\chi^2$ parameter (the reduced $\chi^2$,
+See :ref:`Assessing_Fit_Quality`) returned by the optimiser.
 
 Now check the box for another model parameter and click *Fit* again. Repeat this
-process until most or all parameters are checked and have been optimised. As the
-fit of the theory to the experimental data improves the value of 'chi2/Npts' will
-decrease. A good model fit should easily produce values of 'chi2/Npts' that are
-close to one, and certainly <100. See :ref:`Assessing_Fit_Quality`.
+process until all relevant parameters are checked and have been optimised. As
+the fit of the theory to the experimental data improves, the value of 'Reduced
+Chi2' will decrease. A good model fit should produce values of Reduced Chi2
+close to one, and certainly << 100. See :ref:`Assessing_Fit_Quality`.
 
 SasView has a number of different optimisers (see the section :ref:`Fitting_Options`).
@@ -462,7 +466,11 @@
 *the Data Explorer is checked (see the section* :ref:`Loading_data` *).*
 
-This mode is an extension of the :ref:`Single_Fit_Mode` that fits two or more data
-sets *to the same model* simultaneously. If necessary it is possible to constrain
-fit parameters between data sets (eg, to fix a background level, or radius, etc).
+This mode is an extension of the :ref:`Single_Fit_Mode` that allows for some
+relatively extensive constraints between fitted parameters in a single *FitPage*
+or between several *FitPage*'s (eg, to constrain all fitted parameters to be the
+same in a contrast series of *FitPages* except for the solvent sld parameter,
+constrain the length to be twice that of the radius in a single *FitPage*,
+fix the radius of the sphere in one *FitPage* to be the same as the radius of
+the cylinder in a second *FitPage*, etc).
 
 If the data to be fit are in multiple files, load each file, then select each file
@@ -501,44 +509,35 @@
 next to *Add Constraint?* in the *Fit Constraints* box.
 
+To constrain all identically named parameters to fit *simultaneously* to the
+same value across all the *Fitpages* use the *Easy Setup* drop-down buttons in
+the *Const & Simul Fit* page.
+
 *NB: You can only constrain parameters that are set to refine.*
+
+Constraints will generally be of the form
+
+  Mi Parameter1 = Mj.Parameter1
+
+however the text box after the '=' sign can be used to adjust this
+relationship; for example
+
+  Mi Parameter1 = scalar \* Mj.Parameter1
+
+A 'free-form' constraint box is also provided.
+
+Many constraints can be entered for a single fit.
 
 When ready, click the *Fit* button on the *Const & Simul Fit* page, NOT the *Fit*
 button on the individual *FitPage*'s.
 
-Simultaneous Fits without Constraints
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
 The results of the model-fitting will be returned to each of the individual
 *FitPage*'s.
 
-Note that the chi2/Npts value returned is the SUM of the chi2/Npts of each fit. To
-see the chi2/Npts value for a specific *FitPage*, click the *Compute* button at the
-bottom of that *FitPage* to recalculate. Also see :ref:`Assessing_Fit_Quality`.
-
-Simultaneous Fits with Constraints
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Use the *Easy Setup* drop-down buttons in the *Const & Simul Fit* page to set
-up constraints between *FitPage*'s.
-
-Constraints will generally be of the form
-
-  Mi Parameter1 = Mj.Parameter1
-
-however the text box after the '=' sign can be used to adjust this
-relationship; for example
-
-  Mi Parameter1 = scalar \* Mj.Parameter1
-
-A 'free-form' constraint box is also provided.
-
-Many constraints can be entered for a single fit.
-
-The results of the model-fitting will be returned to each of the individual
-*FitPage*'s.
-
-Note that the chi2/Npts value returned is the SUM of the chi2/Npts of each fit. To
-see the chi2/Npts value for a specific *FitPage*, click the *Compute* button at the
-bottom of that *FitPage* to recalculate. Also see :ref:`Assessing_Fit_Quality`.
+Note that the Reduced Chi2 value returned is the SUM of the Reduced Chi2 of
+each fit. To see the Reduced Chi2 value for a specific *FitPage*, click the 
+*Compute* button at the bottom of that *FitPage* to recalculate. Note that in
+doing so the degrees of freedom will be set to Npts.
+See :ref:`Assessing_Fit_Quality`.  Moreover in the case of constraints the
+degrees of freedom are less than one might think due to those constraints.
 
 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
@@ -766,4 +765,7 @@
 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
 
-.. note::  This help document was last changed by Paul Butler, 10 September
-   2017
+.*Document History*
+
+| 2017-09-10 Paul Butler
+| 2017-09-15 Steve King
+| 2018-03-05 Paul Butler
Index: src/sas/sasgui/perspectives/fitting/media/residuals_help.rst
===================================================================
--- src/sas/sasgui/perspectives/fitting/media/residuals_help.rst	(revision 99ded31b1523f79bd1cb6e2ce2af4d4f1200022d)
+++ src/sas/sasgui/perspectives/fitting/media/residuals_help.rst	(revision 84ac3f1346f94e3781ba42c6405173781c110161)
@@ -27,17 +27,19 @@
 
 $\chi^2$ is a statistical parameter that quantifies the differences between
-an observed data set and an expected dataset (or 'theory').
-
-When showing the a model with the data, *SasView* displays this parameter
-normalized to the number of data points, $N_\mathrm{pts}$ such that
+an observed data set and an expected dataset (or 'theory') calculated as
 
 .. math::
 
-  \chi^2_N
-  =  \sum[(Y_i - \mathrm{theory}_i)^2 / \mathrm{error}_i^2] / N_\mathrm{pts}
+  \chi^2
+  =  \sum[(Y_i - \mathrm{theory}_i)^2 / \mathrm{error}_i^2]
 
-When performing a fit, *SasView* instead displays the reduced $\chi^2_R$,
-which takes into account the number of fitting parameters $N_\mathrm{par}$
-(to calculate the number of 'degrees of freedom'). This is computed as
+Fitting typically minimizes the value of $\chi^2$.  For assessing the quality of
+the model and its "fit" however, *SasView* displays the traditional reduced
+$\chi^2_R$ which normalizes this parameter by dividing it by the number of
+degrees of freedom (or DOF). The DOF is the number of data points being
+considered, $N_\mathrm{pts}$, reduced by the number of free (i.e. fitted)
+parameters, $N_\mathrm{par}$. Note that model parameters that are kept fixed do
+*not* contribute to the DOF (they are not "free"). This reduced value is then
+given as
 
 .. math::
@@ -47,6 +49,12 @@
   / [N_\mathrm{pts} - N_\mathrm{par}]
 
-The normalized $\chi^2_N$ and the reduced $\chi^2_R$ are very close to each
-other when $N_\mathrm{pts} \gg N_\mathrm{par}$.
+Note that this means the displayed value will vary depending on the number of
+parameters used in the fit. In particular, when doing a calculation without a
+fit (e.g. manually changing a parameter) the DOF will now equal $N_\mathrm{pts}$
+and the $\chi^2_R$ will be the smallest possible for that combination of model,
+data set, and set of parameter values.
+
+When $N_\mathrm{pts} \gg N_\mathrm{par}$ as it should for proper fitting, the
+value of the reduced $\chi^2_R$ will not change very much.
 
 For a good fit, $\chi^2_R$ tends to 1.
@@ -90,2 +98,3 @@
 | 2015-06-08 Steve King
 | 2017-09-28 Paul Kienzle
+| 2018-03-04 Paul Butler
