diff --git a/R/KorAPCorpusStats.R b/R/KorAPCorpusStats.R
index ab06382..655e9b9 100644
--- a/R/KorAPCorpusStats.R
+++ b/R/KorAPCorpusStats.R
@@ -26,6 +26,7 @@
 #' @param as.df return result as data frame instead of as S4 object?
 #' @return `KorAPCorpusStats` object with the slots `documents`, `tokens`, `sentences`, `paragraphs`
 #'
+#' @importFrom urltools url_encode
 #' @examples
 #'
 #' \dontrun{
@@ -50,7 +51,7 @@
              URLencode(enc2utf8(vc), reserved = TRUE))
     log_info(verbose, "Getting size of virtual corpus \"", vc, "\"", sep = "")
     res <- apiCall(kco, url)
-    webUIRequestUrl <- paste0(kco@KorAPUrl, sprintf("?q=<base/s=t>&cq=%s", URLencode(enc2utf8(vc))))
+    webUIRequestUrl <- paste0(kco@KorAPUrl, sprintf("?q=<base/s=t>&cq=%s", url_encode(enc2utf8(vc))))
     if(is.null(res)) {
       res <- data.frame(documents=NA, tokens=NA, sentences=NA, paragraphs=NA)
     }
diff --git a/tests/testthat/test-corpusStats.R b/tests/testthat/test-corpusStats.R
index b06a54f..345dd91 100644
--- a/tests/testthat/test-corpusStats.R
+++ b/tests/testthat/test-corpusStats.R
@@ -1,11 +1,20 @@
 test_that("corpusStats works", {
   skip_if_offline()
-  stats <- new("KorAPConnection") %>% corpusStats()
+  stats <- new("KorAPConnection") %>% corpusStats("pubDate since 2020 & pubDate until 2021")
   expect_gt(stats@tokens, 0)
   expect_gt(stats@paragraphs, 0)
   expect_gt(stats@documents, 0)
+  expect(grepl("%26", stats@webUIRequestUrl), "webUIRequestUrl not properly url encoded")
 })
 
+test_that("corpusStats with result as df works", {
+  skip_if_offline()
+  stats <- new("KorAPConnection") %>% corpusStats("pubDate since 2020 & pubDate until 2021", as.df = TRUE)
+  expect_gt(stats$tokens, 0)
+  expect_gt(stats$paragraphs, 0)
+  expect_gt(stats$documents, 0)
+  expect(grepl("%26", stats$webUIRequestUrl), "webUIRequestUrl not properly url encoded")
+})
 
 test_that("Printing corpusStats for the whole corpus works", {
   skip_if_offline()
@@ -15,6 +24,6 @@
 
 test_that("Printing corpusStats for a sub-corpus works", {
   skip_if_offline()
-  stats <- new("KorAPConnection") %>% corpusStats("pubDate in 2018")
+  stats <- new("KorAPConnection") %>% corpusStats("pubDate since 2020 & pubDate until 2021")
   expect_error(print(stats), NA)
 })
