Index: src/sas/sasgui/plottools/PlotPanel.py
===================================================================
--- src/sas/sasgui/plottools/PlotPanel.py	(revision dd5bf63093de43c42cbb5ac17751c02bdd615eae)
+++ src/sas/sasgui/plottools/PlotPanel.py	(revision 1ed6be74dd086a570674b6acb2a8d3c7fa0bf36d)
@@ -713,24 +713,4 @@
                 if dial.ShowModal() == wx.ID_OK:
                     self.xLabel, self.yLabel, self.viewModel = dial.getValues()
-                    if self.viewModel == "Linear y vs x":
-                        self.xLabel = "x"
-                        self.yLabel = "y"
-                        self.viewModel = "--"
-                        dial.setValues(self.xLabel, self.yLabel, self.viewModel)
-                    if self.viewModel == "Guinier lny vs x^(2)":
-                        self.xLabel = "x^(2)"
-                        self.yLabel = "ln(y)"
-                        self.viewModel = "--"
-                        dial.setValues(self.xLabel, self.yLabel, self.viewModel)
-                    if self.viewModel == "XS Guinier ln(y*x) vs x^(2)":
-                        self.xLabel = "x^(2)"
-                        self.yLabel = "ln(y*x)"
-                        self.viewModel = "--"
-                        dial.setValues(self.xLabel, self.yLabel, self.viewModel)
-                    if self.viewModel == "Porod y*x^(4) vs x^(4)":
-                        self.xLabel = "x^(4)"
-                        self.yLabel = "y*x^(4)"
-                        self.viewModel = "--"
-                        dial.setValues(self.xLabel, self.yLabel, self.viewModel)
                     self._onEVT_FUNC_PROPERTY()
                 dial.Destroy()
@@ -1211,8 +1191,7 @@
 
         # Properties defined by plot
-        
+
         # Ricardo:
-        # A empty label "$$" will prevent the panel from displaying! 
-        
+        # A empty label "$$" will prevent the panel from displaying!
         if prop["xlabel"]:
             self.subplot.set_xlabel(r"$%s$"%prop["xlabel"])
@@ -1220,5 +1199,5 @@
             self.subplot.set_ylabel(r"$%s$"%prop["ylabel"])
         self.subplot.set_title(prop["title"])
-        
+
 
     def clear(self):
@@ -1564,5 +1543,5 @@
                                                   bins=[self.y_bins, self.x_bins],
                                                   weights=self.data)
-        # Now, normalize the image by weights only for weights>1: 
+        # Now, normalize the image by weights only for weights>1:
         # If weight == 1, there is only one data point in the bin so
         # that no normalization is required.
@@ -1760,5 +1739,4 @@
         for item in list:
             item.setLabel(self.xLabel, self.yLabel)
-
             # control axis labels from the panel itself
             yname, yunits = item.get_yaxis()
@@ -1790,5 +1768,5 @@
             if self.xLabel == "ln(x)":
                 item.transformX(transform.toLogX, transform.errToLogX)
-                self.graph._xaxis_transformed("\ln\\ %s" % xname, "%s" % xunits)
+                self.graph._xaxis_transformed("\ln{(%s)}" % xname, "%s" % xunits)
             if self.xLabel == "log10(x)":
                 item.transformX(transform.toX_pos, transform.errToX_pos)
@@ -1802,5 +1780,5 @@
             if self.yLabel == "ln(y)":
                 item.transformY(transform.toLogX, transform.errToLogX)
-                self.graph._yaxis_transformed("\ln\\ %s" % yname, "%s" % yunits)
+                self.graph._yaxis_transformed("\ln{(%s)}" % yname, "%s" % yunits)
             if self.yLabel == "y":
                 item.transformY(transform.toX, transform.errToX)
@@ -1818,4 +1796,9 @@
                 yunits = convert_unit(-1, yunits)
                 self.graph._yaxis_transformed("1/%s" % yname, "%s" % yunits)
+            if self.yLabel == "y*x^(2)":
+                item.transformY(transform.toYX2, transform.errToYX2)
+                xunits = convert_unit(2, self.xaxis_unit)
+                self.graph._yaxis_transformed("%s \ \ %s^{2}" % (yname, xname),
+                                              "%s%s" % (yunits, xunits))
             if self.yLabel == "y*x^(4)":
                 item.transformY(transform.toYX4, transform.errToYX4)
@@ -1831,5 +1814,5 @@
             if self.yLabel == "ln(y*x)":
                 item.transformY(transform.toLogXY, transform.errToLogXY)
-                self.graph._yaxis_transformed("\ln (%s \ \ %s)" % (yname, xname),
+                self.graph._yaxis_transformed("\ln{(%s \ \ %s)}" % (yname, xname),
                                               "%s%s" % (yunits, self.xaxis_unit))
             if self.yLabel == "ln(y*x^(2))":
@@ -1847,17 +1830,4 @@
                 xunits = convert_unit(4, self.xaxis_unit)
                 _yscale = 'log'
-                self.graph._yaxis_transformed("%s \ \ %s^{4}" % (yname, xname),
-                                              "%s%s" % (yunits, xunits))
-            if self.viewModel == "Guinier lny vs x^(2)":
-                item.transformX(transform.toX2, transform.errToX2)
-                xunits = convert_unit(2, xunits)
-                self.graph._xaxis_transformed("%s^{2}" % xname, "%s" % xunits)
-                item.transformY(transform.toLogX, transform.errToLogX)
-                self.graph._yaxis_transformed("\ln\ \ %s" % yname, "%s" % yunits)
-            if self.viewModel == "Porod y*x^(4) vs x^(4)":
-                item.transformX(transform.toX4, transform.errToX4)
-                xunits = convert_unit(4, self.xaxis_unit)
-                self.graph._xaxis_transformed("%s^{4}" % xname, "%s" % xunits)
-                item.transformY(transform.toYX4, transform.errToYX4)
                 self.graph._yaxis_transformed("%s \ \ %s^{4}" % (yname, xname),
                                               "%s%s" % (yunits, xunits))
Index: src/sas/sasgui/plottools/PropertyDialog.py
===================================================================
--- src/sas/sasgui/plottools/PropertyDialog.py	(revision 3409a909ae6ba9a55295c5a75fa539468268c2ec)
+++ src/sas/sasgui/plottools/PropertyDialog.py	(revision 51296869a9635f6bbe7ea2bf9ea57b2f5ee095cf)
@@ -23,15 +23,16 @@
         iy += 1
         ix = 1
-        self.xvalue = wx.ComboBox(self, -1)
+        self.xvalue = wx.ComboBox(self, -1, style=wx.CB_READONLY)
         x_size += self.xvalue.GetSize()[0]
-        sizer.Add(self.xvalue, (iy, ix), (1, 1), wx.EXPAND | wx.ADJUST_MINSIZE, 0)
+        sizer.Add(self.xvalue, (iy, ix), (1, 1), wx.ADJUST_MINSIZE, 0)
 
         ix += 2
-        self.yvalue = wx.ComboBox(self, -1)
+        self.yvalue = wx.ComboBox(self, -1, style=wx.CB_READONLY)
         x_size += self.yvalue.GetSize()[0]
-        sizer.Add(self.yvalue, (iy, ix), (1, 1), wx.EXPAND | wx.ADJUST_MINSIZE, 0)
+        sizer.Add(self.yvalue, (iy, ix), (1, 1), wx.ADJUST_MINSIZE, 0)
 
         ix += 2
-        self.view = wx.ComboBox(self, -1)
+        self.view = wx.ComboBox(self, -1, style=wx.CB_READONLY)
+        self.view.Bind(wx.EVT_COMBOBOX, self.viewChanged)
         x_size += self.view.GetSize()[0]
         self.view.SetMinSize((160, 30))
@@ -64,11 +65,12 @@
         self.yvalue.Insert("ln(y)", 2)
         self.yvalue.Insert("y^(2)", 3)
-        self.yvalue.Insert("y*x^(4)", 4)
-        self.yvalue.Insert("1/sqrt(y)", 5)
-        self.yvalue.Insert("log10(y)", 6)
-        self.yvalue.Insert("ln(y*x)", 7)
-        self.yvalue.Insert("ln(y*x^(2))", 8)
-        self.yvalue.Insert("ln(y*x^(4))", 9)
-        self.yvalue.Insert("log10(y*x^(4))", 10)
+        self.yvalue.Insert("y*x^(2)", 4)
+        self.yvalue.Insert("y*x^(4)", 5)
+        self.yvalue.Insert("1/sqrt(y)", 6)
+        self.yvalue.Insert("log10(y)", 7)
+        self.yvalue.Insert("ln(y*x)", 8)
+        self.yvalue.Insert("ln(y*x^(2))", 9)
+        self.yvalue.Insert("ln(y*x^(4))", 10)
+        self.yvalue.Insert("log10(y*x^(4))", 11)
         # type of view or model used
         self.view.SetValue("--")
@@ -78,12 +80,27 @@
         self.view.Insert("XS Guinier ln(y*x) vs x^(2)", 3)
         self.view.Insert("Porod y*x^(4) vs x^(4)", 4)
-        # This did not work in 3.1.2 and does not work now.
-        # prefer to fix (should not be too hard) but for the moment
-        # am removing as an option the user sees so they don't get
-        # disappointed.    PDB 7/10/2016 
-        # self.view.Insert("Kratky y*x^(2) vs x", 5)
+        self.view.Insert("Kratky y*x^(2) vs x", 5)
         self.SetSizer(vbox)
         self.Fit()
         self.Centre()
+
+    def viewChanged(self, event):
+        event.Skip()
+        view = self.view.GetValue()
+        if view == "Linear y vs x":
+            self.xvalue.SetValue("x")
+            self.yvalue.SetValue("y")
+        elif view == "Guinier lny vs x^(2)":
+            self.xvalue.SetValue("x^(2)")
+            self.yvalue.SetValue("ln(y)")
+        elif view == "XS Guinier ln(y*x) vs x^(2)":
+            self.xvalue.SetValue("x^(2)")
+            self.yvalue.SetValue("ln(y*x)")
+        elif view == "Porod y*x^(4) vs x^(4)":
+            self.xvalue.SetValue("x^(4)")
+            self.yvalue.SetValue("y*x^(4)")
+        elif view == "Kratky y*x^(2) vs x":
+            self.xvalue.SetValue("x")
+            self.yvalue.SetValue("y*x^(2)")
 
     def setValues(self, x, y, view):
Index: src/sas/sasgui/plottools/transform.py
===================================================================
--- src/sas/sasgui/plottools/transform.py	(revision d7bb5267934b5676c90b1655346a3793a8022965)
+++ src/sas/sasgui/plottools/transform.py	(revision 8abd96d6ebdf20551265a5a33a9fd0d56ebe5584)
@@ -291,5 +291,5 @@
 
 
-def errToYX2(x, y, dx=None, dy=None):
+def errToYX2(y, x, dy=None, dx=None):
     """
     """
@@ -325,5 +325,5 @@
 
 
-def errToLogYX2(x, y, dx=None, dy=None):
+def errToLogYX2(y, x, dy=None, dx=None):
     """
     calculate error of Log(yx**2)
@@ -375,5 +375,5 @@
 
 
-def errToLogYX4(x, y=None, dx=None, dy=None):
+def errToLogYX4(y, x, dy=None, dx=None):
     """
     error for ln(y*x^(4))
@@ -396,5 +396,5 @@
 
 
-def errToYX4(x, y=None, dx=None, dy=None):
+def errToYX4(y, x, dy=None, dx=None):
     """
     error for (y*x^(4))
