diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 86e351a11f7305e4cb535d9034eda5c3caf782ce..5bededf43035cc1aa0c5cd73235cf23ead8a8bc9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,7 +1,8 @@
 stages:
   - build
+  - check
   - regression
-  - tests
+  - revdepcheck
 
 variables:
   R_LIBS_USER: "$CI_PROJECT_DIR/ci/lib"
@@ -35,7 +36,7 @@ default:
     - Rscript tests/testthat/regression_tests.R compare
 
 .check:
-  stage: tests
+  stage: check
   script:
   - R -e 'devtools::check(check_dir = Sys.getenv("CHECK_DIR"), cran = !as.logical(Sys.getenv("NOT_CRAN")), env_vars = c(NOT_CRAN = Sys.getenv("NOT_CRAN")))'
   - R -e 'if (length(devtools::check_failures(path = Sys.getenv("BUILD_LOGS_DIR"), note = FALSE)) > 0) stop()'
@@ -139,3 +140,12 @@ check_as_cran_oldrel:
   variables:
     R_VERSION: "oldrel"
   extends: .check_as_cran
+
+revdepcheck_patched:
+  stage: revdepcheck
+  variables:
+    R_VERSION: "patched"
+  script:
+    - R -e 'remotes::install_github("https://github.com/r-lib/revdepcheck")'
+    - R -e 'revdepcheck::revdep_check(num_workers = 2)'
+    - R -e 'if (any(sapply(revdepcheck::revdep_summary(), function(x) {any(x$cmp$change == 1)}))) stop()'