Index: src/sas/sasgui/perspectives/pr/inversion_panel.py
===================================================================
--- src/sas/sasgui/perspectives/pr/inversion_panel.py	(revision 5c3c31088725a7afa5330da15636bfd1347a7429)
+++ src/sas/sasgui/perspectives/pr/inversion_panel.py	(revision a0e6b1b9f274f2a46d9f25fe7801411ef0701217)
@@ -316,5 +316,5 @@
         # Read the panel's parameters
         flag, alpha, dmax, nfunc, qmin, \
-        qmax, height, width = self._read_pars()
+        qmax, height, width, bck = self._read_pars()
 
         state.nfunc = nfunc
@@ -330,5 +330,6 @@
 
         # Background evaluation checkbox
-        state.estimate_bck = self.bck_est_ctl.GetValue()
+        state.estimate_bck = self.has_bck
+        state.bck_value = bck
 
         # Estimates
@@ -375,6 +376,12 @@
         self.plot_data.SetValue(str(state.file))
 
-        # Background evaluation checkbox
-        self.bck_man_ctl.SetValue(state.estimate_bck)
+        # Background value
+        self.bck_est_ctl.SetValue(state.estimate_bck)
+        self.bck_man_ctl.SetValue(not state.estimate_bck)
+        if not state.estimate_bck:
+            self.bck_input.Enable()
+            self.bck_input.SetValue(str(state.bck_value))
+        self.has_bck = state.estimate_bck
+        self.bck_value = state.bck_value
 
         # Estimates
@@ -456,4 +463,5 @@
             size=(60, 20), value="0.0")
         self.bck_input.Disable()
+        self.bck_input.Bind(wx.EVT_TEXT, self._read_pars)
         background_units = wx.StaticText(self, -1, "[A^(-1)]", size=(55, 20))
         iy += 1
@@ -808,5 +816,5 @@
         scenes.
         """
-        flag, alpha, dmax, nfunc, qmin, qmax, height, width = self._read_pars()
+        flag, alpha, dmax, nfunc, qmin, qmax, height, width, bck = self._read_pars()
 
         # If the pars are valid, estimate alpha
@@ -834,4 +842,5 @@
         height = 0
         width = 0
+        background = 0
         flag = True
         # Read slit height
@@ -927,5 +936,19 @@
             self.qmax_ctl.Refresh()
 
-        return flag, alpha, dmax, nfunc, qmin, qmax, height, width
+        # Read background
+        if not self.has_bck:
+            try:
+                bck_str = self.bck_input.GetValue()
+                if len(bck_str.strip()) == 0:
+                    background = 0.0
+                else:
+                    background = float(bck_str)
+                    self.bck_input.SetBackgroundColour(wx.WHITE)
+            except ValueError:
+                background = 0.0
+                self.bck_input.SetBackgroundColour("pink")
+            self.bck_input.Refresh()
+
+        return flag, alpha, dmax, nfunc, qmin, qmax, height, width, background
 
     def _on_explore(self, evt):
@@ -952,5 +975,5 @@
         # Push it to the manager
 
-        flag, alpha, dmax, nfunc, qmin, qmax, height, width = self._read_pars()
+        flag, alpha, dmax, nfunc, qmin, qmax, height, width, bck = self._read_pars()
 
         if flag:
Index: src/sas/sasgui/perspectives/pr/inversion_state.py
===================================================================
--- src/sas/sasgui/perspectives/pr/inversion_state.py	(revision 7432acb919f4013119ca918a73350297e0d4c93f)
+++ src/sas/sasgui/perspectives/pr/inversion_state.py	(revision a0e6b1b9f274f2a46d9f25fe7801411ef0701217)
@@ -36,5 +36,6 @@
            ["qmin", "qmin"],
            ["qmax", "qmax"],
-           ["estimate_bck", "estimate_bck"]]
+           ["estimate_bck", "estimate_bck"],
+           ["bck_value", "bck_value"]]
 
 ## List of P(r) inversion outputs
@@ -62,4 +63,5 @@
         self.estimate_bck = False
         self.timestamp = time.time()
+        self.bck_value = 0.0
 
         # Inversion parameters
@@ -109,4 +111,5 @@
         state += "Timestamp:    %s\n" % self.timestamp
         state += "Estimate bck: %s\n" % str(self.estimate_bck)
+        state += "Bck Value:    %s\n" % str(self.bck_value)
         state += "No. terms:    %s\n" % str(self.nfunc)
         state += "D_max:        %s\n" % str(self.d_max)
@@ -296,6 +299,6 @@
                             self.coefficients.append(float(c))
                         except:
-                            # Bad data, skip. We will count the number of 
-                            # coefficients at the very end and deal with 
+                            # Bad data, skip. We will count the number of
+                            # coefficients at the very end and deal with
                             # inconsistencies then.
                             pass
@@ -329,6 +332,6 @@
                                 cov_row.append(float(c))
                             except:
-                                # Bad data, skip. We will count the number of 
-                                # coefficients at the very end and deal with 
+                                # Bad data, skip. We will count the number of
+                                # coefficients at the very end and deal with
                                 # inconsistencies then.
                                 pass
@@ -461,6 +464,6 @@
                 tree = etree.parse(path, parser=etree.ETCompatXMLParser())
                 # Check the format version number
-                # Specifying the namespace will take care of the file 
-                #format version 
+                # Specifying the namespace will take care of the file
+                #format version
                 root = tree.getroot()
 
