diff --git a/ohmpi/hardware_system.py b/ohmpi/hardware_system.py
index e6ebd5d10a19aa396fb9400c171de4bdf3e87f0e..3e27eab81d6400f585f364b2b29a2bd5f467135e 100644
--- a/ohmpi/hardware_system.py
+++ b/ohmpi/hardware_system.py
@@ -261,8 +261,8 @@ class OhmPiHardware:
         self.exec_logger.event(f'OhmPiHardware\tread_values\tend\t{datetime.datetime.utcnow()}')
 
     @property
-    def last_rho(self):
-        v = self.readings[:, 2] != 0
+    def last_resistance(self, delay=0.):
+        v = np.where((self.readings[:, 0] >= delay) & (self.readings[:, 2] != 0))[0]
         if len(v) > 1:
             # return np.mean(np.abs(self.readings[v, 4] - self.sp) / self.readings[v, 3])
             return np.mean(self.readings[v, 2] * (self.readings[v, 4] - self.sp) / self.readings[v, 3])
@@ -270,10 +270,10 @@ class OhmPiHardware:
             return np.nan
 
     @property
-    def last_dev(self):
-        if len(self.readings) > 1:
-            v = self.readings[:, 2] != 0  # exclude sample where there is no injection
-            return 100. * np.std(self.readings[v, 2] * (self.readings[v, 4] - self.sp) / self.readings[v, 3]) / self.last_rho
+    def last_dev(self, delay=0.):
+        v = np.where((self.readings[:, 0] >= delay) & (self.readings[:, 2] != 0))
+        if len(v) > 1:
+            return 100. * np.std(self.readings[v, 2] * (self.readings[v, 4] - self.sp) / self.readings[v, 3]) / self.last_resistance
         else:
             return np.nan
 
diff --git a/ohmpi/ohmpi.py b/ohmpi/ohmpi.py
index 42b7672ec556a491ffd7e471c046f2d3c7d74f28..3d0fe7fb4089d5ef3cd83127b201f19edafa7c8a 100644
--- a/ohmpi/ohmpi.py
+++ b/ohmpi/ohmpi.py
@@ -461,17 +461,14 @@ class OhmPi(object):
             if 'delay' in kwargs.keys():
                 delay = kwargs['delay']
             else:
-                delay = 0.
+                delay = injection_duration * 2/3  # TODO: check if this is ok and if last point is not taken the end of injection
             x = np.where((self._hw.readings[:, 0] >= delay) & (self._hw.readings[:, 2] != 0))
-            print(f'length of series: {len(x)}')
-            # R = np.mean((self._hw.readings[x, 2] * (self._hw.readings[x, 4] - self._hw.sp)) / self._hw.readings[x, 3])
             Vmn = np.mean(self._hw.readings[x, 2] * (self._hw.readings[x, 4] - self._hw.sp))
             Vmn_std = 100. * np.std(self._hw.readings[x, 2] * (self._hw.readings[x, 4])) # - self._hw.sp))
             I = np.mean(self._hw.readings[x, 3])
             I_std = 100. * np.std(self._hw.readings[x, 3])
-            R = Vmn / I
-            R_std = 100. * np.std(self._hw.readings[x, 2] * (self._hw.readings[x, 4] - self._hw.sp) / self._hw.readings[x, 3]) / R
-
+            R = self._hw.last_resistance(delay=delay)
+            R_std = self._hw.last_dev(delay=delay)
             d = {
                 "time": datetime.now().isoformat(),
                 "A": quad[0],