diff --git a/src/View/Results/PlotH.py b/src/View/Results/PlotH.py
index fd07b45a889f4e4da5a372e61b72e89ec4fc51d2..5dacb2a88536b8f80fd1d9abff893b64f5b53a3d 100644
--- a/src/View/Results/PlotH.py
+++ b/src/View/Results/PlotH.py
@@ -148,7 +148,7 @@ class PlotH(PamhyrPlot):
     def set_reach(self, reach_id):
         self._current_reach_id = reach_id
         self._current_profile_id = 0
-        self.update()
+        self.draw()
 
     def set_profile(self, profile_id):
         self._current_profile_id = profile_id
diff --git a/src/View/Results/PlotKPC.py b/src/View/Results/PlotKPC.py
index f7c071a44ec5e99aa179885c5ff3d78df7019b67..35f0b211e3ef8c88dee4fe61a8b86f96d02d5ac4 100644
--- a/src/View/Results/PlotKPC.py
+++ b/src/View/Results/PlotKPC.py
@@ -348,6 +348,7 @@ class PlotKPC(PamhyrPlot):
         if not self._init:
             self.draw()
 
+        reach = self.results.river.reach(self._current_reach_id)
         if reach.has_sediment():
             self.update_bottom_with_bedload()
 
diff --git a/src/tools.py b/src/tools.py
index 84aca8481518b854943942161ca3dd93e7416a2b..817ac5fafec8581f4869ecb83b22ab56f9543537 100644
--- a/src/tools.py
+++ b/src/tools.py
@@ -254,7 +254,12 @@ def old_pamhyr_date_to_timestamp(date: str):
 def timestamp_to_old_pamhyr_date(time: int):
     logger.debug(f"timestamp_to_old_pamhyr_date({time}: {type(time)})")
     t0 = datetime.fromtimestamp(0)
-    t = datetime.fromtimestamp(int(time))
+
+    # HACK: Windows do not accept negative timestamps
+    if time < 0:
+        t = t0 + timedelta(seconds=int(time))
+    else:
+        t = datetime.fromtimestamp(int(time))
 
     dt = t - t0
     hours = dt.seconds // 3600