diff --git a/R/RunModel_Lag.R b/R/RunModel_Lag.R
index 87f551f73f94e3ef91b93798b78ae35f2db5c0b6..a832fd9da893ebd9c8b1d4c0da7179fcb8a32003 100644
--- a/R/RunModel_Lag.R
+++ b/R/RunModel_Lag.R
@@ -77,18 +77,17 @@ RunModel_Lag <- function(InputsModel, RunOptions, Param) {
   }
 
   for (upstream_basin in seq_len(NbUpBasins)) {
-    Qupstream <- InputsModel$Qupstream[RunOptions$IndPeriod_Run, upstream_basin]
+    Qupstream <- c(IniStates[[upstream_basin]],
+                   InputsModel$Qupstream[RunOptions$IndPeriod_Run, upstream_basin])
     if (!is.na(InputsModel$BasinAreas[upstream_basin])) {
       # Upstream flow with area needs to be converted to m3 by time step
       Qupstream <- Qupstream * InputsModel$BasinAreas[upstream_basin] * 1e3
     }
-    OutputsModel$Qsim <- OutputsModel$Qsim +
-      c(IniStates[[upstream_basin]][-length(IniStates[[upstream_basin]])],
-        Qupstream[1:(LengthTs - floor(PT[upstream_basin]))]) *
-      HUTRANS[1, upstream_basin] +
-      c(IniStates[[upstream_basin]],
-        Qupstream[1:(LengthTs - floor(PT[upstream_basin]) - 1)]) *
-      HUTRANS[2, upstream_basin]
+    #message("Qupstream[", upstream_basin, "]: ", paste(Qupstream, collapse = ", "))
+    OutputsModel$Qsim <-
+      OutputsModel$Qsim +
+      Qupstream[2:(1 + LengthTs)] * HUTRANS[1, upstream_basin] +
+      Qupstream[1:LengthTs] * HUTRANS[2, upstream_basin]
   }
   # Warning for negative flows
   if (any(OutputsModel$Qsim < 0)) {