Index: src/sas/sascalc/data_util/qsmearing.py
===================================================================
--- src/sas/sascalc/data_util/qsmearing.py	(revision f7bc948e32c147070322df8e00fcd547b7a00e89)
+++ src/sas/sascalc/data_util/qsmearing.py	(revision 1fac6c09c8ab1f0c228d078ee755bc91242e2fdc)
@@ -13,5 +13,5 @@
 import logging
 import sys
-import sasmodels.sesans
+from sasmodels import sesans
 
 from sasmodels.resolution import Slit1D, Pinhole1D, SESANS1D
@@ -50,5 +50,5 @@
     # Look for resolution smearing data
     _found_sesans = False
-    if data.dx is not None and data.lam is not None:
+    if data.dx is not None and data.meta_data['loader']=='SESANS':
         if data.dx[0] > 0.0:
             _found_sesans = True
@@ -101,5 +101,14 @@
         self.model = model
         self.resolution = resolution
-        self.offset = numpy.searchsorted(self.resolution.q_calc, self.resolution.q[0])
+        if hasattr(self.resolution, 'data'):
+            if self.resolution.data.meta_data['loader'] == 'SESANS':
+                self.offset = 0
+            # This is default behaviour, for future resolution/transform functions this needs to be revisited.
+            else:
+                self.offset = numpy.searchsorted(self.resolution.q_calc, self.resolution.q[0])
+        else:
+            self.offset = numpy.searchsorted(self.resolution.q_calc, self.resolution.q[0])
+
+        #self.offset = numpy.searchsorted(self.resolution.q_calc, self.resolution.q[0])
 
     def apply(self, iq_in, first_bin=0, last_bin=None):
@@ -135,4 +144,5 @@
         q[first:last+1].
         """
+
         q = self.resolution.q
         first = numpy.searchsorted(q, q_min)
@@ -158,4 +168,4 @@
     #Here assume a number
     Rmax = 50000
-    q_calc = sesans.make_q(data.sample.z, Rmax)
+    q_calc = sesans.make_q(data.sample.zacceptance, Rmax)
     return PySmear(SESANS1D(data,q_calc),model)
Index: src/sas/sascalc/dataloader/data_info.py
===================================================================
--- src/sas/sascalc/dataloader/data_info.py	(revision 79885018e2047aef9517748c8de7eccc28d1305e)
+++ src/sas/sascalc/dataloader/data_info.py	(revision 1fac6c09c8ab1f0c228d078ee755bc91242e2fdc)
@@ -25,5 +25,4 @@
 import numpy
 import math
-
 class plottable_1D(object):
     """
@@ -696,22 +695,23 @@
     1D data class
     """
-    if plottable_1D.lam is None: # This means it's SANS data!
-        x_unit = '1/A'
-        y_unit = '1/cm'
-    elif plottable_1D.lam is not None: # This means it's SESANS data!
-        x_unit = 'A'
-        y_unit = 'pol'
-    else: # and if it's neither, you get punished!
-        raise(TypeError,'This is neither SANS nor SESANS data, what the hell are you doing??')
-
-    def __init__(self, x=None, y=None, dx=None, dy=None, lam=None, dlam=None):
+    #if plottable_1D.lam is None: # This means it's SANS data!
+     #   x_unit = '1/A'
+      #  y_unit = '1/cm'
+    #elif plottable_1D.lam is not None: # This means it's SESANS data!
+     #   x_unit = 'A'
+      #  y_unit = 'pol'
+    #else: # and if it's neither, you get punished!
+     #   raise(TypeError,'This is neither SANS nor SESANS data, what the hell are you doing??')
+
+    def __init__(self, x=None, y=None, dx=None, dy=None, lam=None, dlam=None, isSesans=False):
+        self.isSesans = isSesans
         DataInfo.__init__(self)
         plottable_1D.__init__(self, x, y, dx, dy,None, None, lam, dlam)
-        if self.lam is None: # This means the lam param was not detected in the data: it's SANS data!
+        if self.isSesans:
+            x_unit = 'A'
+            y_unit = 'pol'
+        elif not self.isSesans: # it's SANS data! (Could also be simple else statement, but i prefer exhaustive conditionals...-JHB)
             x_unit = '1/A'
             y_unit = '1/cm'
-        elif self.lam is not None: # This means lam was detected (should be an empty ndarray): it's SESANS data!
-            x_unit = 'A'
-            y_unit = 'pol'
         else: # and if it's neither, you get punished!
             raise(TypeError,'This is neither SANS nor SESANS data, what the hell are you doing??')
Index: src/sas/sascalc/dataloader/readers/sesans_reader.py
===================================================================
--- src/sas/sascalc/dataloader/readers/sesans_reader.py	(revision 1b82623068ec2fe845989e0a485d44d824e81792)
+++ src/sas/sascalc/dataloader/readers/sesans_reader.py	(revision 1fac6c09c8ab1f0c228d078ee755bc91242e2fdc)
@@ -84,5 +84,5 @@
                 tdx = numpy.zeros(0)
 #                print "all good"
-                output = Data1D(x=x, y=y, lam=lam, dy=dy, dx=dx, dlam=dlam)
+                output = Data1D(x=x, y=y, lam=lam, dy=dy, dx=dx, dlam=dlam, isSesans=True )
 #                print output                
                 self.filename = output.filename = basename
@@ -121,10 +121,17 @@
                         paramvals.append(toks[1])
                     if len(toks)>5:
+                       #zvals.append(toks[0])
+                        #dzvals.append(toks[1])
+                        #lamvals.append(toks[2])
+                        #dlamvals.append(toks[3])
+                        #Pvals.append(toks[4])
+                        #dPvals.append(toks[5])
+
                         zvals.append(toks[0])
-                        dzvals.append(toks[1])
-                        lamvals.append(toks[2])
-                        dlamvals.append(toks[3])
-                        Pvals.append(toks[4])
-                        dPvals.append(toks[5])
+                        dzvals.append(toks[3])
+                        lamvals.append(toks[4])
+                        dlamvals.append(toks[5])
+                        Pvals.append(toks[1])
+                        dPvals.append(toks[2])
                     else:
                         continue
@@ -140,6 +147,8 @@
                 default_z_unit = "A"
                 data_conv_P = None
-                default_p_unit = " "
+                default_p_unit = " " # Adjust unit for axis (L^-3)
                 lam_unit = lam_header[1].replace("[","").replace("]","")
+                if lam_unit == 'AA':
+                    lam_unit = 'A'
                 varheader=[zvals[0],dzvals[0],lamvals[0],dlamvals[0],Pvals[0],dPvals[0]]
                 valrange=range(1, len(zvals))
@@ -161,4 +170,5 @@
                 output.x, output.x_unit = self._unit_conversion(x, lam_unit, default_z_unit)
                 output.y = y
+                output.y_unit = 'pol' # output y_unit erbij
                 output.dx, output.dx_unit = self._unit_conversion(dx, lam_unit, default_z_unit)
                 output.dy = dy
@@ -166,14 +176,14 @@
                 output.dlam, output.dlam_unit = self._unit_conversion(dlam, lam_unit, default_z_unit)
 
-                output.xaxis("\rm{z}", output.x_unit)
-                output.yaxis("\\rm{P/P0}", output.y_unit)
+                output.xaxis("\\rm{z}", output.x_unit)
+                output.yaxis("\\rm{P/P0}", output.y_unit) # Adjust label to ln P/(lam^2 t), remove lam column refs
                 # Store loading process information
                 output.meta_data['loader'] = self.type_name
-                output.sample.thickness = float(paramvals[6])
+                #output.sample.thickness = float(paramvals[6])
                 output.sample.name = paramvals[1]
                 output.sample.ID = paramvals[0]
                 zaccept_unit_split = paramnames[7].split("[")
                 zaccept_unit = zaccept_unit_split[1].replace("]","")
-                if zaccept_unit.strip() == '\AA^-1':
+                if zaccept_unit.strip() == '\AA^-1' or zaccept_unit.strip() == '\A^-1':
                     zaccept_unit = "1/A"
                 output.sample.zacceptance=(float(paramvals[7]),zaccept_unit)
Index: src/sas/sasgui/guiframe/dataFitting.py
===================================================================
--- src/sas/sasgui/guiframe/dataFitting.py	(revision 79885018e2047aef9517748c8de7eccc28d1305e)
+++ src/sas/sasgui/guiframe/dataFitting.py	(revision 1fac6c09c8ab1f0c228d078ee755bc91242e2fdc)
@@ -17,5 +17,5 @@
     """
     """
-    def __init__(self, x=None, y=None, dx=None, dy=None, lam=None, dlam=None):
+    def __init__(self, x=None, y=None, dx=None, dy=None, lam=None, dlam=None, isSesans=False):
         """
         """
@@ -24,6 +24,7 @@
         if y is None:
             y = []
-        PlotData1D.__init__(self, x, y, lam, dx, dy, dlam)
-        LoadData1D.__init__(self, x, y, lam, dx, dy, dlam)
+        self.isSesans = isSesans
+        PlotData1D.__init__(self, x, y, dx, dy, lam, dlam)
+        LoadData1D.__init__(self, x, y, dx, dy, lam, dlam, isSesans)
         self.id = None
         self.list_group_id = []
Index: src/sas/sasgui/guiframe/data_manager.py
===================================================================
--- src/sas/sasgui/guiframe/data_manager.py	(revision d85c194ea2f78cb2b9b3de9c969e1b8ebea6b6d2)
+++ src/sas/sasgui/guiframe/data_manager.py	(revision 1fac6c09c8ab1f0c228d078ee755bc91242e2fdc)
@@ -62,6 +62,8 @@
         if issubclass(Data2D, data.__class__):
             new_plot = Data2D(image=None, err_image=None) 
-        else: 
-            new_plot = Data1D(x=[], y=[], dx=None, dy=None)
+        elif data.meta_data['loader'] == 'SESANS':
+            new_plot = Data1D(x=[], y=[], dx=None, dy=None, lam=None, dlam=None, isSesans=True)
+        else:
+            new_plot = Data1D(x=[], y=[], dx=None, dy=None, lam=None, dlam=None) #SESANS check???
            
         new_plot.copy_from_datainfo(data)
Index: src/sas/sasgui/plottools/plottables.py
===================================================================
--- src/sas/sasgui/plottools/plottables.py	(revision 79885018e2047aef9517748c8de7eccc28d1305e)
+++ src/sas/sasgui/plottools/plottables.py	(revision 1fac6c09c8ab1f0c228d078ee755bc91242e2fdc)
@@ -1022,5 +1022,5 @@
     """
 
-    def __init__(self, x, y, lam=None, dx=None, dy=None, dlam=None):
+    def __init__(self, x, y, dx=None, dy=None, lam=None, dlam=None):
         """
         Draw points specified by x[i],y[i] in the current color/symbol.
