diff --git a/DESCRIPTION b/DESCRIPTION
index 1e24191f24e754a307e648b01ec599a75f38e1dc..5d94d21df883770a61ba9724b91af486e8be5375 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -1,7 +1,7 @@
 Package: airGRteaching
 Type: Package
 Title: Tools to Simplify the Use of the airGR Hydrological Package for Education (Including a Shiny Interface)
-Version: 0.1.8.3
+Version: 0.1.8.4
 Date: 2017-10-31
 Authors@R: c(person("Olivier", "Delaigue", role = c("aut", "cre"), email = "airGR@irstea.fr"), person("Laurent", "Coron", role = c("aut")), person("Pierre", "Brigode", role = c("aut")), person("Guillaume", "Thirel", role = c("ctb")))
 Depends: airGR (>= 1.0.9.43)
diff --git a/R/dyplot.default.R b/R/dyplot.default.R
index f68a2fb629e7d8955fed4ad0e11a48dddbe74519..982380a0ab36aecce3738a25e9d40f9ee42380a3 100644
--- a/R/dyplot.default.R
+++ b/R/dyplot.default.R
@@ -99,9 +99,11 @@ dyplot.default <- function(x, Qsup = NULL, Qsup.name = "Qsup",
   }
   if (plot.na) {
     naQ_rle <- rle(is.na(data$Qobs))
-    naQ_ide <- cumsum(naQ_rle$lengths)[naQ_rle$values] +1
-    naQ_ids <- naQ_ide - naQ_rle$lengths[naQ_rle$values]  -1
+    naQ_ide <- cumsum(naQ_rle$lengths)[naQ_rle$values]   + 1
+    naQ_ids <- naQ_ide - naQ_rle$lengths[naQ_rle$values] - 1
     IDna   <- data.frame(start = naQ_ids, end = naQ_ide)
+    IDna$start <- ifelse(IDna$start < 1         , 1         , IDna$start)
+    IDna$end   <- ifelse(IDna$end   > nrow(data), nrow(data), IDna$end  )
     for (i in seq_len(nrow(IDna))) {
       dg <- dygraphs::dyShading(dygraph = dg,
                                 from    = as.character(data$DatesR)[IDna[i, "start"]],