diff --git a/Python_script/VNA_dummy.py b/Python_script/VNA_dummy.py
index f81e210aa1e7acc9449cc74da299a9e562d7233d..506397b85b6b1a0728584b7c61a8d5b33af23d82 100644
--- a/Python_script/VNA_dummy.py
+++ b/Python_script/VNA_dummy.py
@@ -24,12 +24,12 @@ class VnaDummy:
         self.result_format = 'SDAT'
         self.simulated_power = '10.dBm'
         self.simulated_frequency = '10.MHz'
-        self.simulated_magnitude = 0.7
-        self.simulated_phase = 70
+        self.simulated_magnitude_difference_temp = 0.0
+        self.simulated_phase_difference_temp = 0.0
         self.simulated_state = shared_simulated_state.get_simulated_state()
         self.last_simulated_time = self.simulated_state.simulated_time
-        self.tau_mag = 25
-        self.tau_phase = 35
+        self.tau_mag_temp = 25
+        self.tau_phase_temp = 35
         self.reference_magnitude = 0.7  # at reference temp and reference hum
         self.reference_phase = 70  # at reference temp and reference hum
         self.reference_temp = 25
@@ -44,23 +44,26 @@ class VnaDummy:
 
     def simulate_magnitude(self):
 
-        target_magnitude = self.reference_magnitude - self.magnitude_slope * \
-                           (self.simulated_state.simulated_temperature - self.reference_temp)
-        delta_magnitude = target_magnitude - self.simulated_magnitude
-        new_time = self.simulated_state.simulated_time
-        delta_time = new_time - self.last_simulated_time
+        target_magnitude_difference_temp = -1. * self.magnitude_slope * \
+                                           (self.simulated_state.simulated_temperature - self.reference_temp)
+        delta_magnitude = target_magnitude_difference_temp - self.simulated_magnitude_difference_temp
 
-        self.simulated_magnitude = self.simulated_magnitude+delta_magnitude*(1-(math.exp(-1.*delta_time/self.tau_mag)))
+        delta_time = self.simulated_state.simulated_time - self.last_simulated_time
+
+        self.simulated_magnitude_difference_temp = self.simulated_magnitude_difference_temp + \
+                                                   delta_magnitude * \
+                                                   (1 - (math.exp(-1. * delta_time / self.tau_mag_temp)))
 
     def simulate_phase(self):
 
-        target_phase = self.reference_phase + self.phase_slope * \
-                       (self.simulated_state.simulated_temperature - self.reference_temp)
-        delta_phase = target_phase - self.simulated_phase
-        new_time = self.simulated_state.simulated_time
-        delta_time = new_time - self.last_simulated_time
+        target_phase_difference_temp = self.phase_slope * \
+                                       (self.simulated_state.simulated_temperature - self.reference_temp)
+        delta_phase = target_phase_difference_temp - self.simulated_phase_difference_temp
+
+        delta_time = self.simulated_state.simulated_time - self.last_simulated_time
 
-        self.simulated_phase = self.simulated_phase + delta_phase*(1 - (math.exp(-1. * delta_time/self.tau_phase)))
+        self.simulated_phase_difference_temp = self.simulated_phase_difference_temp + \
+                                               delta_phase * (1 - (math.exp(-1. * delta_time / self.tau_phase_temp)))
 
     def get_tupple_of_current_traces(self):
         """
@@ -92,15 +95,18 @@ class VnaDummy:
 
     def set_sweep_mode(self, mode):
         return '1'
-    
+
     def get_measurement_string(self, trace, result_format):
         if trace not in self.simulated_traces:
-            raise Exception('trace '+trace+' is not known to VNA dummy!')
+            raise Exception('trace ' + trace + ' is not known to VNA dummy!')
         self.result_format = result_format
 
-        phase_radian = self.simulated_phase / 180. * math.pi
-        real_val = self.simulated_magnitude * math.cos(phase_radian)
-        imaginary_val = self.simulated_magnitude * math.sin(phase_radian)
+        simulated_magnitude = self.reference_magnitude + self.simulated_magnitude_difference_temp
+        simulated_phase = self.reference_phase + self.simulated_phase_difference_temp
+
+        phase_radian = simulated_phase / 180. * math.pi
+        real_val = simulated_magnitude * math.cos(phase_radian)
+        imaginary_val = simulated_magnitude * math.sin(phase_radian)
 
         measurment_string = ' '
         for i in range(50):
@@ -124,5 +130,3 @@ class VnaDummy:
 
     def do_single_sweep(self):
         pass
-
-