diff --git a/Ccs/plotter.py b/Ccs/plotter.py
index e3708a4bada0c0645d0091e8e37db7933bf48fbd..f10f581bc52f38226041bb563f2386f874166aa6 100644
--- a/Ccs/plotter.py
+++ b/Ccs/plotter.py
@@ -83,12 +83,6 @@ class PlotViewer(Gtk.Window):
         # Set up the logger
         self.logger = cfl.start_logging('ParameterPlotter')
 
-        # Specify which Pool should be used
-        if loaded_pool is not None:
-            self.loaded_pool = loaded_pool
-        else:
-            self.loaded_pool = None
-
         self.refresh_rate = refresh_rate
 
         if not self.cfg.has_section(cfl.CFG_SECT_PLOT_PARAMETERS):
@@ -98,6 +92,17 @@ class PlotViewer(Gtk.Window):
         self.session_factory_idb = scoped_session_maker('idb')
         self.session_factory_storage = scoped_session_maker('storage')
 
+        # load specified pool
+        if loaded_pool is not None and isinstance(loaded_pool, str):
+            res = self.session_factory_storage.execute('SELECT * FROM tm_pool WHERE pool_name="{}"'.format(loaded_pool))
+            try:
+                iid, filename, protocol, modtime = res.fetchall()[0]
+                self.loaded_pool = ActivePoolInfo(filename, modtime, filename, bool(not filename.count('/')))
+            except IndexError:
+                self.logger.error('Could not load pool {}'.format(loaded_pool))
+        else:
+            self.loaded_pool = None
+
         box = Gtk.VBox()
         self.add(box)
 
@@ -138,7 +143,7 @@ class PlotViewer(Gtk.Window):
         self.live_plot_switch.set_active(start_live)
         self.show_all()
 
-        self.pool_selector.set_active_iter(self.pool_selector_pools.get_iter(0))
+        # self.pool_selector.set_active_iter(self.pool_selector_pools.get_iter(0))
 
     def create_toolbar(self):  #, pool_info=None):
         toolbar = Gtk.HBox()
@@ -158,17 +163,10 @@ class PlotViewer(Gtk.Window):
         self.pool_selector = Gtk.ComboBoxText(tooltip_text='Select Pool to Plot')
         self.pool_selector_pools = Gtk.ListStore(str, int, str, bool)
 
-        # self.pool_selector_pools.append(['Select Pool', 0, 'Select Pool', False])
-        if self.loaded_pool is not None and isinstance(self.loaded_pool, str):
-            res = self.session_factory_storage.execute('SELECT * FROM tm_pool WHERE pool_name="{}"'.format(self.loaded_pool))
-            try:
-                iid, filename, protocol, modtime = res.fetchall()[0]
-                self.pool_selector_pools.append([filename, modtime, filename, bool(not filename.count('/'))])
-            except IndexError:
-                self.logger.error('Could not load pool {}'.format(self.loaded_pool))
+        if self.loaded_pool is not None and isinstance(self.loaded_pool, ActivePoolInfo):
+            self.pool_selector_pools.append([*self.loaded_pool])
 
         self.pool_selector.set_model(self.pool_selector_pools)
-        #self.pool_selector.set_entry_text_column(2)
         self.pool_selector.connect('changed', self.pool_changed)
 
         toolbar.pack_start(self.pool_selector, 0, 0, 0)
@@ -949,6 +947,8 @@ class PlotViewer(Gtk.Window):
         # xmin, xmax = self.subplot.get_xlim()
         lines = self.subplot.lines
 
+        nocal = not self.calibrate.get_active()
+
         for line in lines:
             parameter = line.get_label()
             if not parameter.startswith('_lim_'):
@@ -963,7 +963,7 @@ class PlotViewer(Gtk.Window):
 
                 try:
                     # xnew, ynew = cfl.get_param_values([row.raw for row in new_rows], hk, parameter, numerical=True)[0]
-                    xnew, ynew = cfl.get_param_values([row.raw for row in new_rows], hk, parameter, numerical=True, tmfilter=False)[0]
+                    xnew, ynew = cfl.get_param_values([row.raw for row in new_rows], hk, parameter, numerical=True, tmfilter=False, nocal=nocal)[0]
                     idx_new = new_rows.order_by(DbTelemetry.idx.desc()).first().idx
                 except ValueError:
                     continue
@@ -1032,9 +1032,12 @@ class PlotViewer(Gtk.Window):
 
     def update_plot(self):
         while self.liveplot:
+            t1 = time.time()
             # GLib.idle_add(self.update_plot_worker, priority=GLib.PRIORITY_HIGH)
             self.update_plot_worker()
-            time.sleep(self.refresh_rate)
+            dt = self.refresh_rate - (time.time() - t1)
+            if dt > 0:
+                time.sleep(dt)
 
     def set_refresh_rate(self, rate):
         self.refresh_rate = rate
@@ -1196,7 +1199,7 @@ class PlotViewer(Gtk.Window):
 
         if self.loaded_pool:
             #self.update_pool_view()
-            self.pool_changed(self.pool_selector, self.loaded_pool)
+            self.pool_changed(self.pool_selector, pool=True) #self.loaded_pool)
 
         #if self.loaded_pool:
         #    self.select_pool(pool=self.loaded_pool)