diff --git a/pykat/commands.py b/pykat/commands.py
index e90e507a8a3b22a20d68c87c0856e4288aa0cf10..27a3bdad90adad26b3787863c88adb01b5d8a34c 100644
--- a/pykat/commands.py
+++ b/pykat/commands.py
@@ -57,7 +57,7 @@ class xaxis(Command):
         self.mx = putter("mx1")
 
         if scale == "lin":
-            scale = cale.linear
+            scale = Scale.linear
         elif scale == "log":
             scale = Scale.logarithmic
         elif isinstance(scale, str):
diff --git a/pykat/detectors.py b/pykat/detectors.py
index 1e0fae04875ae68948d231ea48b1a6a77e4a6b6f..4f94cc975f277390dd42ef2fbb6e5c3819bb184f 100644
--- a/pykat/detectors.py
+++ b/pykat/detectors.py
@@ -302,8 +302,8 @@ class photodiode(Detector):
             else:
                 rtn.append("pd{0}{1} {2} {3} {4}*".format(self.senstype, self.num_demods, self.name, __f_phi_str,  self.node.name))
 
-            if self.scale !=1.0 and self.scale != None:
-                rtn.append("scale {0} {1}".format(self.name, self.scale))
+            if self.scale != None and self.scale !='':
+                rtn.append("scale {1} {0}".format(self.name, self.scale))
                 
             if self.noplot:
                 rtn.append("noplot {0}".format(self.name))
diff --git a/pykat/finesse.py b/pykat/finesse.py
index cb839f163d80f20f87bb33e9246d85e57e421da9..bf1b2e384c37f1af40c27e2510919459552c6409 100644
--- a/pykat/finesse.py
+++ b/pykat/finesse.py
@@ -182,7 +182,7 @@ class kat(object):
     @property
     def noxaxis(self): return self.__noxaxis
     @noxaxis.setter
-    def noxaxis(self,value): self.__noxaxis = bool(value)
+    def noxaxis(self,value): self.__noxaxis = bool(value) 
 
     def logo(self):
         print """                                              ..-
@@ -256,7 +256,6 @@ class kat(object):
                 
                 first = line.split(" ",1)[0]
                 obj = None
-                
                 if(first == "m" or first == "m1" or first == "m2"):
                     obj = pykat.components.mirror.parseFinesseText(line)
                 elif(first == "s"):
@@ -288,20 +287,25 @@ class kat(object):
                 elif(first == "phase"):
                     v = line.split(" ")
                     if len(v) != 2:
-                        raise pkex.BasePyKatException("Phase command `{0}` is incorrect.".format(line))
+                        raise pkex.BasePyKatException("phase command `{0}` is incorrect.".format(line))
                     else:
                         self.phase = int(v[1])
+                elif(first == "maxtem"):
+                    v = line.split(" ")
+                    if len(v) != 2:
+                        raise pkex.BasePyKatException("maxtem command `{0}` is incorrect.".format(line))
+                    else:
+                        self.maxtem = int(v[1])
                 elif(first == "retrace"):
                     v = line.split(" ")
                     if len(v) > 2:
                         raise pkex.BasePyKatException("Retrace command `{0}` is incorrect.".format(line))
                     elif len(v) == 2:
-                        self.retrace = v[1]
-                        
+                        self.retrace = v[1]                        
                 elif(first == "deriv_h"):
                     v = line.split(" ")
                     if len(v) != 2:
-                        raise pkex.BasePyKatException("Deriv_h command `{0}` is incorrect.".format(line))
+                        raise pkex.BasePyKatException("deriv_h command `{0}` is incorrect.".format(line))
                     else:
                         self.deriv_h = float(v[1])
                 else:
@@ -626,8 +630,8 @@ class kat(object):
 
             if key != NO_BLOCK:
                 out.append("%%% FTend " + key + "\n")
-        
-        if self.noxaxis != None and self.noxaxis == True:
+
+        if self.noxaxis == True:
             out.append("noxaxis\n")
             
         # now loop through all the nodes and get any gauss commands
@@ -641,7 +645,7 @@ class kat(object):
                     out.append(txt + "\n")
         
 
-        if self.scale != None and self.scale !=1.0: out.append("scale {0}\n".format(self.scale))
+        if self.scale != None and self.scale !='': out.append("scale {0}\n".format(self.scale))
         if self.phase != None: out.append("phase {0}\n".format(self.phase))
         if self.maxtem != None: out.append("maxtem {0}\n".format(self.maxtem))