diff --git a/R/usercountry.R b/R/usercountry.R
index 0ea414c..62075e1 100644
--- a/R/usercountry.R
+++ b/R/usercountry.R
@@ -6,7 +6,7 @@
 #'
 #' @inheritParams matomoQuery
 #'
-#' @importFrom stringr str_replace str_replace_all
+#' @importFrom stringr str_replace str_replace_all str_split
 #'
 #' @examples
 #' \dontrun{
@@ -21,12 +21,31 @@
                              filter_limit = 100,
                              accessToken = getAccessToken(matomoUrl)
 ) {
-  matomoQuery(matomoUrl = matomoUrl,
-              siteId = siteId,
-              period = period,
-              date = str_replace_all(str_replace_all(date, " *UTC", ""), "-00", "-01"),
-              removeFirst = FALSE,
-              removeLast = FALSE,
-              accessToken = accessToken,
-              getMethod = "UserCountry.getCountry")
+  result <- list()
+  MAX_RETRIES <- 5
+  retry_count <- 0
+
+  while (length(result) == 0 && retry_count < MAX_RETRIES) {
+    result <- matomoQuery(matomoUrl = matomoUrl,
+                siteId = siteId,
+                period = period,
+                date = str_replace_all(str_replace_all(date, " *UTC", ""), "-00", "-01"),
+                removeFirst = FALSE,
+                removeLast = FALSE,
+                accessToken = accessToken,
+                getMethod = "UserCountry.getCountry",
+                ignoreEmptyResult = retry_count < MAX_RETRIES)
+
+    if (length(result) == 0 && retry_count < MAX_RETRIES) {
+      msg <- paste0("UserCountry.getCountry returned an empty list (known MATOMO bug). Changing date range from ", date, " to ")
+      retry_count <- retry_count + 1
+      startend <- str_split(date, ",", simplify = T)
+      l <- str_split(startend[1], "-", simplify = T)
+      l[3] <- sprintf("%02d", as.numeric(l[3]) + 1)
+      date <- paste0(paste0(l, collapse = "-"), ",", startend[2])
+      msg <- paste0(msg, date, "\n")
+      warning(msg)
+    }
+  }
+  return(result)
 }
