Index: fittingview/src/sans/perspectives/fitting/console.py
===================================================================
--- fittingview/src/sans/perspectives/fitting/console.py	(revision 49c69de79aac6bbde0711203fe50ff3af1f0bb81)
+++ fittingview/src/sans/perspectives/fitting/console.py	(revision 15f68cec08425975d725871c33a68d3f016cdb83)
@@ -116,5 +116,5 @@
         """
         self.elapsed_time = time.time() - self.elapsed_time
-        msg = " Updating fit ...\n result:\n %s \n"%self.result.__str__()
+        msg = " Updating fit ...\n result:\n %s \n"%self.result.fitness
         wx.PostEvent(self.parent, StatusEvent(status=msg, info="info",
                                               type="progress"))
Index: fittingview/src/sans/perspectives/fitting/fitpage.py
===================================================================
--- fittingview/src/sans/perspectives/fitting/fitpage.py	(revision 4679e165348fa58d353241cb8c6c94cb82cf2948)
+++ fittingview/src/sans/perspectives/fitting/fitpage.py	(revision 15f68cec08425975d725871c33a68d3f016cdb83)
@@ -2116,5 +2116,5 @@
                     item[2].SetValue(val_out)
 
-                if(cov !=None):
+                if(cov !=None and len(cov) == len(out)):
                     try:
                         if dispersity !=None:
@@ -2127,5 +2127,5 @@
                     except:
                         pass    
-               
+                    
                     if cov[ind]!=None :
                         if numpy.isfinite(float(cov[ind])):
Index: fittingview/src/sans/perspectives/fitting/fitting.py
===================================================================
--- fittingview/src/sans/perspectives/fitting/fitting.py	(revision dafc36fe760da3ccde79e0d54da63761f95366bb)
+++ fittingview/src/sans/perspectives/fitting/fitting.py	(revision 15f68cec08425975d725871c33a68d3f016cdb83)
@@ -1121,9 +1121,9 @@
                     #check consistency of arrays
                     if not is_data2d:
-                        if len(res.theory) == len(res.index) and \
+                        if len(res.theory) == len(res.index[res.index]) and \
                             len(res.index) == len(data.y):
                             correct_result = True
                     else:
-                        if len(res.theory)== len(res.index) and \
+                        if len(res.theory)== len(res.index[res.index]) and \
                             len(res.index) == len(data.data):
                             correct_result = True
@@ -1176,6 +1176,7 @@
                             #save only fitted values
                             batch_outputs[res.param_list[index]].append(res.pvec[index])
-                            item = res.stderr[index]
-                            batch_inputs["error on %s" % res.param_list[index]].append(item)
+                            if res.stderr is not None and len(res.stderr) == len(res.param_list):
+                                item = res.stderr[index]
+                                batch_inputs["error on %s" % res.param_list[index]].append(item)
                             if res.param_list[index] in model.getParamList():
                                 model.setParam(res.param_list[index], res.pvec[index])
@@ -1305,5 +1306,5 @@
                     index += 1
                     cpage._on_fit_complete()
-                    if res.stderr == None:
+                    if res.fitness == None:
                         msg = "Fit Abort: "
                     else:
Index: park_integration/src/sans/fit/ScipyFitting.py
===================================================================
--- park_integration/src/sans/fit/ScipyFitting.py	(revision ba7dceb97b67e13fc6acebcc55febefce4957b28)
+++ park_integration/src/sans/fit/ScipyFitting.py	(revision 15f68cec08425975d725871c33a68d3f016cdb83)
@@ -128,30 +128,23 @@
             raise
         chisqr = functor.chisq()
+
         if cov_x is not None and numpy.isfinite(cov_x).all():
             stderr = numpy.sqrt(numpy.diag(cov_x))
         else:
-            stderr = None
+            stderr = []
             
         result.index = data.idx
-        if not (numpy.isnan(out).any()) and (cov_x != None):
-            result.fitness = chisqr
-            result.stderr  = stderr
-            result.pvec = out
-            result.success = success
-            result.theory = functor.theory
-            #print "scipy", result.inputs
-            if q is not None:
-                q.put(result)
-                return q
-            if success < 1 or success > 5:
-                result = None
+        result.fitness = chisqr
+        result.stderr  = stderr
+        result.pvec = out
+        result.success = success
+        result.theory = functor.theory
+        if q is not None:
+            q.put(result)
+            return q
+        if success < 1 or success > 5:
+            result.fitness = None
         return [result]
-        """
-        else:
-            return None
-        """
-        # Error will be present to the client, not here 
-        #else:  
-        #    raise ValueError, "SVD did not converge" + str(mesg)
+
         
     def _check_param_range(self, model):
