diff --git a/pykat/detectors.py b/pykat/detectors.py
index 6ebad0ab31e0ffcc8085b2f6ead0001da9bb70b6..5a88447fee9cfb3a05359bbbe1e4466d2fa3e77b 100644
--- a/pykat/detectors.py
+++ b/pykat/detectors.py
@@ -368,10 +368,6 @@ class qnoised(pd):
     def pdtype(self, value):
         raise pkex.BasePyKatException("Setting pdtype is not possible with qnoised detectors")
     
-    @pd.senstype.setter
-    def senstype(self,value):
-        raise pkex.BasePyKatException("qnoised detector has no sensitvity type")
-    
     def parseAttributes(self, values):
         
         for key in values.keys():
@@ -416,7 +412,14 @@ class qnoised(pd):
         if alt_beam:
             node = node[0:-1]
         
-        return qnoised(values[1], demods, node, alternate_beam=alt_beam, **dict)
+        if values[0].endswith('S'):
+            sens='S'
+        elif values[0].endswith('N'):
+            sens='N'
+        else:
+            sens=None
+            
+        return qnoised(values[1], demods, node, senstype=sens, alternate_beam=alt_beam, **dict)
     
     def getFinesseText(self) :
         rtn = []
@@ -440,7 +443,7 @@ class qnoised(pd):
             if senstype == None:
                 senstype = ""
                 
-            rtn.append("qnoised {0} {1} {2} {3}{4}".format(self.name, self.num_demods, fphi_str, self.node.name, alt_str))
+            rtn.append("qnoised{5} {0} {1} {2} {3}{4}".format(self.name, self.num_demods, fphi_str, self.node.name, alt_str, senstype))
 
             if self.scale != None:
                 rtn.append("scale {1} {0}".format(self.name, self.scale))
@@ -498,8 +501,15 @@ class qshot(pd):
         
         if alt_beam:
             node = node[0:-1]
+            
+        if values[0].endswith('S'):
+            sens='S'
+        elif values[0].endswith('N'):
+            sens='N'
+        else:
+            sens=None
         
-        return qnoised(values[1], demods, node, alternate_beam=alt_beam, **dict)
+        return qshot(values[1], demods, node, senstype=sens, alternate_beam=alt_beam, **dict)
     
     def getFinesseText(self) :
         rtn = []
@@ -523,7 +533,7 @@ class qshot(pd):
             if senstype == None:
                 senstype = ""
                 
-            rtn.append("qshot {0} {1} {2} {3}{4}".format(self.name, self.num_demods, fphi_str, self.node.name, alt_str))
+            rtn.append("qshot{5} {0} {1} {2} {3}{4}".format(self.name, self.num_demods, fphi_str, self.node.name, alt_str,senstype))
 
             if self.scale != None:
                 rtn.append("scale {1} {0}".format(self.name, self.scale))
diff --git a/pykat/finesse.py b/pykat/finesse.py
index ad9e3513082540574a6e28472bcf0a3aa6dcc686..7513b043d8e3b5aa5c9b0318312564c2cb8881bf 100644
--- a/pykat/finesse.py
+++ b/pykat/finesse.py
@@ -592,9 +592,9 @@ class kat(object):
                     obj = pykat.detectors.ad.parseFinesseText(line)
                 elif(first[0:2] == "pd" and first != "pdtype"):
                     obj = pykat.detectors.pd.parseFinesseText(line)
-                elif(first == "qshot"):
+                elif(first == "qshot" or first == "qshotS" or first == "qshotN"):
                     obj = pykat.detectors.qshot.parseFinesseText(line)
-                elif(first == "qnoised"):
+                elif(first == "qnoised" or first == "qnoisedS" or first == "qnoisedN"):
                     obj = pykat.detectors.qnoised.parseFinesseText(line)
                 elif(first == "xaxis" or first == "xaxis*"):
                     obj = pykat.commands.xaxis.parseFinesseText(line)