Index: guitools/PlotPanel.py
===================================================================
--- guitools/PlotPanel.py	(revision 2da23bc258381ece72d05709d30d5c94cbce3446)
+++ guitools/PlotPanel.py	(revision b6b9d766215c0b4c15d9193728c008e3cf0af4c4)
@@ -371,9 +371,4 @@
         for item in list:
             if ( self.xscales=="x" ):
-                if self.prevXtrans == "x^(2)":
-                    item.transform_x(  self.fromX2, self.errFuncfromX2 )
-                if self.prevXtrans == "Log(x)":
-                    item.transform_x(  self.toX, self.errFuncfromLogXY )
-                    
                 item.transform_x(  self.toX, self.errFunctoX )
                 self.set_xscale("linear")
@@ -381,15 +376,9 @@
                 
             if ( self.xscales=="x^(2)" ):
-                if  self.prevXtrans != "x^(2)":
-                    item.transform_x(  self.toX2, self.errFuncToX2 )
-                
-                item.transform_x(  self.toX, self.errFunctoX )
+                item.transform_x(  self.toX2, self.errFuncToX2 )
                 self.set_xscale('linear')
                 self.graph.xaxis('\\rm{q^{2}} ', 'A^{-2}')
                 
             if (self.xscales=="Log(x)" ):
-                if self.prevXtrans == "x^(2)":
-                    item.transform_x(  self.fromX2, self.errFuncfromX2 )
-                
                 item.transform_x(  self.toX, self.errFuncToLogX )
                 self.set_xscale("log")
@@ -397,17 +386,9 @@
                 
             if ( self.yscales=="y" ):
-                if self.prevYtrans == "y^(2)":
-                    item.transform_y(  self.fromX2, self.errFuncfromX2 )
-                if self.prevYtrans == "Log(y)":
-                    item.transform_y(  self.toX, self.errFuncfromLogXY )
-                    
                 item.transform_y(  self.toX, self.errFunctoX )
                 self.set_yscale("linear")
                 self.graph.yaxis("\\rm{Intensity} ","cm^{-1}")
                 
-            if ( self.yscales=="Log(y)" ):
-                if self.prevYtrans == "y^(2)":
-                     item.transform_y(  self.fromX2, self.errFuncfromX2 )
-                     
+            if ( self.yscales=="Log(y)" ): 
                 item.transform_y(  self.toX, self.errFuncToLogX)
                 self.set_yscale("log")  
@@ -415,11 +396,9 @@
                 
             if ( self.yscales=="y^(2)" ):
-                if self.prevYtrans != "y^(2)":
-                     item.transform_y(  self.toX2, self.errFuncToX2 )  
-                item.transform_y(  self.toX, self.errFunctoX )    
+                item.transform_y(  self.toX2, self.errFuncToX2 )    
                 self.set_yscale("linear")
                 self.graph.yaxis("\\rm{Intensity^{2}} ","cm^{-2}")
-            item.set_View(item.x,item.y) 
-             
+              
+        item.reset_view()
         self.prevXtrans = self.xscales 
         self.prevYtrans = self.yscales  
@@ -435,4 +414,6 @@
         if dx >=x:
             return 0.9*x
+        if dx==None:
+             return 0
         return dx
     def errFuncToX2(self,x,dx=None):
@@ -472,14 +453,18 @@
             @param dx: float value
         """
-        if (x != 0) and ( dx != None):
-            err= dx/x
+        #if (x != 0) and (dx != None):
+        #    err= dx/x
+        #elif :
+        if x!=0:
+            if dx==None:
+                err = 1/x
+            else:
+                err = dx/x
             if err >= x:
                 err = 0.9*x
-            return err
-        elif x==0:
+        else:
             err = 0.9*x
-            return err
-        else:
-            return 0
+        
+        return err
         
     def errFuncfromLogXY(self,x,dx=None):
Index: guitools/plottables.py
===================================================================
--- guitools/plottables.py	(revision 2da23bc258381ece72d05709d30d5c94cbce3446)
+++ guitools/plottables.py	(revision b6b9d766215c0b4c15d9193728c008e3cf0af4c4)
@@ -412,5 +412,5 @@
             for i in range(len(x)):
                 self.x[i] = func(x[i])
-                if dx:
+                if dx !=None:
                     self.dx[i] = errfunc(x[i], dx[i])
                 else:
@@ -436,5 +436,5 @@
             for i in range(len(y)):
                  self.y[i] = func(y[i])
-                 if dy:
+                 if dy !=None:
                      self.dy[i] = errfunc(y[i], dy[i])
                  else:
