diff --git a/lisp/oc-basic.el b/lisp/oc-basic.el
index 4e9d2e562..2ac601f34 100644
--- a/lisp/oc-basic.el
+++ b/lisp/oc-basic.el
@@ -656,7 +656,7 @@ present in the citation."
(org-open-file file '(4))
(if (not (equal "json" (file-name-extension file)))
(bibtex-search-entry key)
- (let ((regexp (rx "\"id\":" (0+ (any "[ \t]")) "\"" (literal key) "\"")))
+ (let ((regexp (rx-to-string `(seq "\"id\":" (0+ (any "[ \t]")) "\"" ,key
"\"") t)))
(goto-char (point-min))
(re-search-forward regexp)
(search-backward "{")))))
diff --git a/lisp/oc-csl.el b/lisp/oc-csl.el
index a7a2a6042..f3c2fd901 100644
--- a/lisp/oc-csl.el
+++ b/lisp/oc-csl.el
@@ -248,10 +248,10 @@ If nil then the Chicago author-date style is used as a
fallback.")
"Alist mapping locator names to locators.")
(defconst org-cite-csl--label-regexp
- (rx word-start
- (regexp (regexp-opt (mapcar #'car org-cite-csl--label-alist) t))
- (0+ digit)
- (or word-start line-end (any ?\s ?\t)))
+ (rx-to-string `(seq word-start
+ (regexp ,(regexp-opt (mapcar #'car
org-cite-csl--label-alist) t))
+ (0+ digit)
+ (or word-start line-end (any ?\s ?\t))) t)
"Regexp matching a label in a citation reference suffix.
Label is in match group 1.")
diff --git a/lisp/oc.el b/lisp/oc.el
index 1d704fb03..43a3bb444 100644
--- a/lisp/oc.el
+++ b/lisp/oc.el
@@ -924,7 +924,7 @@ the same object, call `org-cite-adjust-punctuation' first."
(concat final-punct "\"") previous nil nil 2))
(new-next
(replace-regexp-in-string
- (rx string-start (literal final-punct))
+ (rx-to-string `(seq string-start ,final-punct) t)
"" next)))
(org-element-set-element previous new-prev)
(org-element-set-element next new-next)