diff --git a/DESCRIPTION b/DESCRIPTION
index 3664b2bae3712d7fb61502e5862c3714231ea657..cd4a38ff26f30b022099047d8d240d9ff66dd9b4 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -1,7 +1,7 @@
 Package: airGR
 Type: Package
 Title: Suite of GR Hydrological Models for Precipitation-Runoff Modelling
-Version: 1.6.8.21
+Version: 1.6.8.22
 Date: 2020-12-01
 Authors@R: c(
   person("Laurent", "Coron", role = c("aut", "trl"), comment = c(ORCID = "0000-0002-1503-6204")),
diff --git a/R/UtilsSeriesAggreg.R b/R/UtilsSeriesAggreg.R
index 247ce7df9e18b8c87d83b7290e25759ef4ed9ef9..3568125e1be31f2efc692e7ae0dad8f409bd55ed 100644
--- a/R/UtilsSeriesAggreg.R
+++ b/R/UtilsSeriesAggreg.R
@@ -43,21 +43,22 @@ getSeriesAggregClass <- function(Format) {
 }
 
 .AggregConvertFunTable <- rbind(
-    data.frame(ConvertFun = "mean",
-               Outputs = c("Prod","Rout","Exp","SnowPack","ThermalState",
-                       "Gratio","Temp","Gthreshold","Glocalmax","LayerTempMean", "T")),
-    data.frame(ConvertFun = "sum",
-               Outputs = c("PotEvap","Precip","Pn","Ps","AE","Perc","PR","Q9",
-                       "Q1","Exch","AExch1","AExch2","AExch","QR","QRExp",
-                       "QD","Qsim","Pliq","Psol","PotMelt","Melt","PliqAndMelt",
-                       "LayerPrecip","LayerFracSolidPrecip", "Qmm", "Qls", "E", "P", "Qupstream"))
-  )
+  data.frame(ConvertFun = "mean",
+             Outputs = c("Prod","Rout","Exp","SnowPack","ThermalState",
+                         "Gratio","Temp","Gthreshold","Glocalmax","LayerTempMean", "T"),
+             stringsAsFactors = FALSE), # R < 4.0 compatibility: avoids mixing numeric and factor into numeric in getAggregConvertFun()
+  data.frame(ConvertFun = "sum",
+             Outputs = c("PotEvap","Precip","Pn","Ps","AE","Perc","PR","Q9",
+                         "Q1","Exch","AExch1","AExch2","AExch","QR","QRExp",
+                         "QD","Qsim","Pliq","Psol","PotMelt","Melt","PliqAndMelt",
+                         "LayerPrecip","LayerFracSolidPrecip", "Qmm", "Qls", "E", "P", "Qupstream"),
+             stringsAsFactors = FALSE) # R < 4.0 compatibility: avoids mixing numeric and factor into numeric in getAggregConvertFun()
+)
 
 getAggregConvertFun <- function(Outputs) {
-
   res <- sapply(Outputs, function(iOutputs) {
     iRes <- .AggregConvertFunTable$ConvertFun[.AggregConvertFunTable$Outputs == iOutputs]
-    iRes <- ifelse(any(is.na(iRes)), NA, iRes)
+    iRes <- ifelse(any(is.na(iRes)), NA, iRes) # R < 4.0 compatibility
   })
   return(res)
 }