diff --git a/.bashrc b/.bashrc
index 589e73bf89829be1b2f46f79bb6e26285467ec93..e09de945c51c28e8fd65ac62daa9393084d1069e 100644
--- a/.bashrc
+++ b/.bashrc
@@ -240,7 +240,8 @@ __run_duration () {
     then
         local endtime starttime
         endtime="$(date +%s)"
-        starttime="$(cat "$HOME/.prerun.$$")"
+        # shellcheck disable=SC1090
+        . "$HOME/.prerun.$$"
         rm "$HOME/.prerun.$$"
         echo "$(( endtime - starttime ))"
     else
@@ -249,7 +250,7 @@ __run_duration () {
 }
 
 __prerun () {
-    date +%s > "$HOME/.prerun.$$"
+    echo "starttime=$(date +%s)" > "$HOME/.prerun.$$"
 }
 
 __prompt () {