diff --git a/R/RunModel_Lag.R b/R/RunModel_Lag.R
index a832fd9da893ebd9c8b1d4c0da7179fcb8a32003..b246b1f4599f9b126fff7d82f1a808e2be0ce659 100644
--- a/R/RunModel_Lag.R
+++ b/R/RunModel_Lag.R
@@ -75,6 +75,7 @@ RunModel_Lag <- function(InputsModel, RunOptions, Param) {
       rep(0, floor(PT[x] + 1))
     })
   }
+  #message("Initstates: ",paste(IniStates, collapse = ", "))
 
   for (upstream_basin in seq_len(NbUpBasins)) {
     Qupstream <- c(IniStates[[upstream_basin]],
@@ -96,11 +97,14 @@ RunModel_Lag <- function(InputsModel, RunOptions, Param) {
   }
   # Convert back Qsim to mm
   OutputsModel$Qsim <- OutputsModel$Qsim / sum(InputsModel$BasinAreas, na.rm = TRUE) / 1e3
+  #message("Qsim: ",paste(OutputsModel$Qsim, collapse = ", "))
 
   if ("StateEnd" %in% RunOptions$Outputs_Sim) {
     OutputsModel$StateEnd$SD <- lapply(seq(NbUpBasins), function(x) {
-      Qupstream[(LengthTs - floor(PT[x])):LengthTs]
+      lastTS <- RunOptions$IndPeriod_Run[length(RunOptions$IndPeriod_Run)]
+      InputsModel$Qupstream[(lastTS - floor(PT[x])):lastTS, x]
     })
+    #message("StateEnd: ",paste(OutputsModel$StateEnd$SD, collapse = ", "))
   }
 
   return(OutputsModel)