diff --git a/DESCRIPTION b/DESCRIPTION
index fcd8a8e91..7e720ce61 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -1,8 +1,8 @@
 Type: Package
 Package: teal.slice
 Title: Filter Module for 'teal' Applications
-Version: 0.5.1.9017
-Date: 2024-12-04
+Version: 0.5.1.9018
+Date: 2024-12-10
 Authors@R: c(
     person("Dawid", "Kaledkowski", , "dawid.kaledkowski@roche.com", role = c("aut", "cre"),
            comment = c(ORCID = "0000-0001-9533-457X")),
diff --git a/NEWS.md b/NEWS.md
index e0dde04b3..e16b9f863 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,4 +1,4 @@
-# teal.slice 0.5.1.9017
+# teal.slice 0.5.1.9018
 
 ### Enhancements
 
diff --git a/R/utils.R b/R/utils.R
index d29cb9b7b..0728d80a5 100644
--- a/R/utils.R
+++ b/R/utils.R
@@ -84,7 +84,7 @@ make_c_call <- function(choices) {
 sanitize_id <- function(id) {
   pattern_escape <- "[^0-9A-Za-z_]"
 
-  id_new <- gsub(pattern_escape, "_", id)
+  id_new <- gsub(pattern_escape, "_", id, perl = TRUE)
   hashes <- vapply(id[id != id_new], rlang::hash, character(1), USE.NAMES = FALSE)
 
   id[id != id_new] <- paste0("h", substr(hashes, 1, 4), "_", id_new[id != id_new])