diff --git a/pykat/finesse.py b/pykat/finesse.py
index f4de636cf8cd51bb12d88de5d782ee45f7dd1636..597f0aea6cfbd2077e47e182751974eea3521281 100644
--- a/pykat/finesse.py
+++ b/pykat/finesse.py
@@ -753,7 +753,7 @@ class kat(object):
         
         return Process(target=f__lkat_process, args=(callback, cmd, kwargs))
            
-    def run(self, printout=0, printerr=0, save_output=False, save_kat=False,kat_name=None) :
+    def run(self, printout=0, printerr=0, plot=None, save_output=False, save_kat=False,kat_name=None) :
         """ 
         Runs the current simulation setup that has been built thus far.
         It returns a katRun or katRun2D object which is populated with the various
@@ -800,6 +800,14 @@ class kat(object):
                 
             r.yaxis = self.yaxis
             r.katScript = "".join(self.generateKatScript())   
+
+            if (plot==None):
+                # ensure we don't do any plotting. That should be handled
+                # by user themselves
+                r.katScript+=("gnuterm no\n")
+                r.katScript+=("pyterm no\n")
+            else:
+                r.katScript+=(plot+"\n")
             
             # create a kat file which we will write the script into
             if self.__tempname == None:
@@ -811,7 +819,7 @@ class kat(object):
             katfile.writelines(r.katScript)
             katfile.flush()
 
-            if printout == 1:
+            if printout == 1 or plot != None:
                 cmd=[kat_exec]
             else:
                 cmd=[kat_exec, '--perl1']
@@ -1161,6 +1169,7 @@ class kat(object):
 
         if self.noxaxis == True:
             out.append("noxaxis\n")
+<<<<<<< HEAD
 
         if self.yaxis != None:
             out.append("yaxis {0}\n".format(self.yaxis))
@@ -1169,6 +1178,8 @@ class kat(object):
         # by user themselves
         out.append("gnuterm no\n")
         out.append("pyterm no\n")
+=======
+>>>>>>> a76f88c16370e3db396376d1b684d24aa7f00c89
         
         return out