Index: src/sas/data_util/nxsunit.py
===================================================================
--- src/sas/data_util/nxsunit.py	(revision 794922220f2fb3b23dd08c648aabf87b4850596c)
+++ src/sas/data_util/nxsunit.py	(revision b3efb7dfc293a955756eccf52e0bbd30d3a2c32d)
@@ -128,5 +128,7 @@
     temperature = _build_metric_units('kelvin','K')
     temperature.update(_build_metric_units('Kelvin','K'))
-
+    temperature.update(_build_metric_units('Celcius', 'C'))
+    temperature.update(_build_metric_units('celcius', 'C'))
+    
     charge = _build_metric_units('coulomb','C')
     charge.update({'microAmp*hour':0.0036})
@@ -146,5 +148,4 @@
     """
     Unit converter for NeXus style units.
-
     """
     # Define the units, using both American and European spelling.
Index: src/sas/dataloader/data_info.py
===================================================================
--- src/sas/dataloader/data_info.py	(revision 794922220f2fb3b23dd08c648aabf87b4850596c)
+++ src/sas/dataloader/data_info.py	(revision b3efb7dfc293a955756eccf52e0bbd30d3a2c32d)
@@ -338,7 +338,7 @@
     ## Transmission [float] [fraction]
     transmission = None
-    ## Temperature [float] [C]
+    ## Temperature [float] [No Default]
     temperature = None
-    temperature_unit = 'C'
+    temperature_unit = None
     ## Position [Vector] [mm]
     position = None
Index: src/sas/dataloader/readers/cansas_reader.py
===================================================================
--- src/sas/dataloader/readers/cansas_reader.py	(revision 794922220f2fb3b23dd08c648aabf87b4850596c)
+++ src/sas/dataloader/readers/cansas_reader.py	(revision b3efb7dfc293a955756eccf52e0bbd30d3a2c32d)
@@ -307,4 +307,5 @@
         if 'unit' in attr and new_current_level.get('unit') is not None:
             try:
+                local_unit = attr['unit']
                 if isinstance(node_value, float) is False:
                     exec("node_value = float({0})".format(node_value))
@@ -312,50 +313,37 @@
                 unitname = new_current_level.get("unit")
                 exec "default_unit = data1d.{0}".format(unitname)
-                local_unit = attr['unit']
-                if local_unit.lower() != default_unit.lower() and \
-                    local_unit is not None and local_unit.lower() != "none" \
-                        and default_unit is not None:
+                if local_unit is not None and default_unit is not None and \
+                        local_unit.lower() != default_unit.lower() \
+                        and local_unit.lower() != "none":
                     if HAS_CONVERTER == True:
-                        try:
-                            ## Check local units - bad units raise KeyError
-                            Converter(local_unit)
-                            data_conv_q = Converter(attr['unit'])
-                            value_unit = default_unit
-                            i_string = "node_value = data_conv_q"
-                            i_string += "(node_value, units=data1d.{0})"
-                            exec i_string.format(unitname)
-                        except KeyError:
-                            err_msg = "CanSAS reader: could not convert "
-                            err_msg += "{0} unit {1}; "
-                            err_msg = err_msg.format(tagname, local_unit)
-                            intermediate = "err_msg += " + \
-                                        "\"expecting [{1}]  {2}\"" + \
-                                        ".format(data1d.{0}, " + \
-                                        "sys.exc_info()[1])"
-                            exec intermediate.format(unitname, "{0}", "{1}")
-                            self.errors.append(err_msg)
-                            raise ValueError(err_msg)
-                        except:
-                            err_msg = \
-                                "CanSAS reader: could not convert the units"
-                            self.errors.append(err_msg)
-                            return
+                        ## Check local units - bad units raise KeyError
+                        data_conv_q = Converter(local_unit)
+                        value_unit = default_unit
+                        i_string = "node_value = data_conv_q"
+                        i_string += "(node_value, units=data1d.{0})"
+                        exec i_string.format(unitname)
                     else:
                         value_unit = local_unit
-                        err_msg = "CanSAS reader: unrecognized %s unit [%s];"\
-                        % (node_value, default_unit)
-                        err_msg += " expecting [%s]" % local_unit
+                        err_msg = "Unit converter is not available.\n"
                         self.errors.append(err_msg)
-                        raise ValueError, err_msg
                 else:
                     value_unit = local_unit
+            except KeyError:
+                err_msg = "CanSAS reader: unexpected "
+                err_msg += "\"{0}\" unit [{1}]; "
+                err_msg = err_msg.format(tagname, local_unit)
+                intermediate = "err_msg += " + \
+                            "\"expecting [{1}]\"" + \
+                            ".format(data1d.{0})"
+                exec intermediate.format(unitname, "{0}", "{1}")
+                self.errors.append(err_msg)
+                value_unit = local_unit
             except:
-                err_msg = "CanSAS reader: could not convert "
-                err_msg += "Q unit [%s]; " % attr['unit']
-                intermediate = "err_msg += \"expecting [%s]\n  %s\" % " + \
-                            "(data1d.{0}, sys.exc_info()[1])"
-                exec intermediate.format(unitname)
+                print sys.exc_info()
+                err_msg = "CanSAS reader: unknown error converting "
+                err_msg += "\"{0}\" unit [{1}]"
+                err_msg = err_msg.format(tagname, local_unit)
                 self.errors.append(err_msg)
-                raise ValueError, err_msg
+                value_unit = local_unit
         elif 'unit' in attr:
             value_unit = attr['unit']
@@ -488,5 +476,5 @@
                                                         data1d, tagname)
                     cansas_attrib = \
-                    cs_values.current_level.get("attributes").get(key)
+                        cs_values.current_level.get("attributes").get(key)
                     attrib_variable = cansas_attrib.get("variable")
                     if key == 'unit' and unit != '':
Index: src/sas/guiframe/gui_statusbar.py
===================================================================
--- src/sas/guiframe/gui_statusbar.py	(revision 794922220f2fb3b23dd08c648aabf87b4850596c)
+++ src/sas/guiframe/gui_statusbar.py	(revision b3efb7dfc293a955756eccf52e0bbd30d3a2c32d)
@@ -315,5 +315,7 @@
         if msg == "error":
             e_msg = "Error(s) Occurred:\n"
-            e_msg += event.status
+            e_msg += "\t" + event.status + "\n\n"
+            e_msg += "Further information might be available in "
+            e_msg += "the Console log (bottom right corner)."
             wx.MessageBox(e_msg, style=wx.ICON_ERROR)
 
Index: src/sas/guiframe/local_perspectives/data_loader/data_loader.py
===================================================================
--- src/sas/guiframe/local_perspectives/data_loader/data_loader.py	(revision 7a04dbb34bb699a5460b3ad23209d05b641f3265)
+++ src/sas/guiframe/local_perspectives/data_loader/data_loader.py	(revision b3efb7dfc293a955756eccf52e0bbd30d3a2c32d)
@@ -171,4 +171,17 @@
                                   file) for file in os.listdir(path)]
    
+    def _process_data_and_errors(self, item, p_file, output, message):
+        """
+        Check to see if data set loaded with any errors. If so, append to
+            error message to be sure user knows the issue.
+        """
+        data_error = False
+        for error_data in item.errors:
+            data_error = True
+            message += "\tError: {0}\n".format(error_data)
+        data = self.parent.create_gui_data(item, p_file)
+        output[data.id] = data
+        return output, message, data_error
+   
     def get_data(self, path, format=None):
         """
@@ -178,9 +191,10 @@
         output = {}
         any_error = False
+        data_error = False
         error_message = ""
         for p_file in path:
             info = "info"
             basename  = os.path.basename(p_file)
-            root, extension = os.path.splitext(basename)
+            _, extension = os.path.splitext(basename)
             if extension.lower() in EXTENSIONS:
                 any_error = True
@@ -194,34 +208,44 @@
         
             try:
+                message = "Loading Data... " + str(p_file) + "\n"
+                self.load_update(output=output, message=message, info=info)
                 temp =  self.loader.load(p_file, format)
                 if temp.__class__.__name__ == "list":
                     for item in temp:
-                        data = self.parent.create_gui_data(item, p_file)
-                        output[data.id] = data
+                        output, error_message, data_error = \
+                            self._process_data_and_errors(item, 
+                                                          p_file, 
+                                                          output, 
+                                                          error_message)
                 else:
-                    data = self.parent.create_gui_data(temp, p_file)
-                    output[data.id] = data
-                message = "Loading Data..." + str(p_file) + "\n"
-                self.load_update(output=output, message=message, info=info)
+                    output, error_message, data_error = \
+                            self._process_data_and_errors(temp, 
+                                                          p_file, 
+                                                          output, 
+                                                          error_message)
             except:
                 any_error = True
-                if error_message == "":
-                     error = "Error: " + str(sys.exc_value) + "\n"
-                     error += "while loading Data: \n%s\n" % str(p_file)
-                     error_message = "The data file you selected could not be loaded.\n"
-                     error_message += "Make sure the content of your file"
-                     error_message += " is properly formatted.\n\n"
-                     error_message += "When contacting the DANSE team, mention the"
-                     error_message += " following:\n%s" % str(error)
-                else:
-                     error_message += "%s\n"% str(p_file)
-                info = "error"
-                self.load_update(output=output, message=error_message, 
+        if any_error or error_message != "":
+            if error_message == "":
+                error = "Error: " + str(sys.exc_value) + "\n"
+                error += "while loading Data: \n%s\n" % str(p_file)
+                error_message = "The data file you selected could not be loaded.\n"
+                error_message += "Make sure the content of your file"
+                error_message += " is properly formatted.\n\n"
+                error_message += "When contacting the DANSE team, mention the"
+                error_message += " following:\n%s" % str(error)
+            elif data_error:
+                base_message = "Errors occurred while loading {0}\n".format(p_file)
+                base_message += "The data file loaded but with errors.\n"
+                error_message = base_message + error_message
+            else:
+                error_message += "%s\n"% str(p_file)
+            info = "error"
+            self.load_update(output=output, message=error_message, 
                                   info=info)
                 
-        message = "Loading Data Complete! "
+        else:
+            message = "Loading Data Complete! "
         message += log_msg
-        if error_message != "":
-            info = 'error'
         self.load_complete(output=output, error_message=error_message,
                        message=message, path=path, info=info)
Index: test/sasdataloader/test/utest_abs_reader.py
===================================================================
--- test/sasdataloader/test/utest_abs_reader.py	(revision 35ec2791ba4240f8154f552ce6ead4e850779a20)
+++ test/sasdataloader/test/utest_abs_reader.py	(revision b3efb7dfc293a955756eccf52e0bbd30d3a2c32d)
@@ -345,10 +345,11 @@
         self.assertEqual(self.data.filename, filename)
         # The followed should not have been loaded
-        self.assertEqual(self.data.sample.thickness, None)
+        self.assertEqual(self.data.sample.thickness, 0.00103)
         # This one should
         self.assertEqual(self.data.sample.transmission, 0.327)
         
         self.assertEqual(self.data.meta_data['loader'], "CanSAS 1D")
-        self.assertEqual(len(self.data.errors), 1)
+        print self.data.errors
+        self.assertEqual(len(self.data.errors), 2)
         
         
