diff --git a/README.md b/README.md
index 3df12bba..d140069b 100644
--- a/README.md
+++ b/README.md
@@ -13,6 +13,8 @@ Some patches remain unapplied due to their uncertain maintenance burden. You may
5d31f3b (Allow open parentheses before cite: "(>>1" #527) by @discomrade
+They will be collected in `static/unapplied patches` upon rejection.
+
About
------------
vichan is a free light-weight, fast, highly configurable and user-friendly
diff --git a/static/unapplied patches/5d31f3bab70de7f983fd56aa18817ede38d1d4f3.patch b/static/unapplied patches/5d31f3bab70de7f983fd56aa18817ede38d1d4f3.patch
new file mode 100644
index 00000000..be474e69
--- /dev/null
+++ b/static/unapplied patches/5d31f3bab70de7f983fd56aa18817ede38d1d4f3.patch
@@ -0,0 +1,33 @@
+From 5d31f3bab70de7f983fd56aa18817ede38d1d4f3 Mon Sep 17 00:00:00 2001
+From: discomrade <83621080+discomrade@users.noreply.github.com>
+Date: Thu, 12 Jan 2023 10:16:15 +0000
+Subject: [PATCH] Add open parentheses to cite regex
+
+Allows cite regex to match a post number after an opening parenthesis. "I like the comfy threads (>>1 and >>2) because they're comfy"
+From https://github.com/fallenPineapple/NPFchan/commit/d78254b41db7902b9463b8d5ccfecd30265bacf9
+---
+ inc/functions.php | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/inc/functions.php b/inc/functions.php
+index 7cf9c5dc3..9d3fcc57e 100755
+--- a/inc/functions.php
++++ b/inc/functions.php
+@@ -2086,7 +2086,7 @@ function markup(&$body, $track_cites = false, $op = false) {
+ $tracked_cites = array();
+
+ // Cites
+- if (isset($board) && preg_match_all('/(^|\s)>>(\d+?)((?=[\s,.)?!])|$)/m', $body, $cites, PREG_SET_ORDER | PREG_OFFSET_CAPTURE)) {
++ if (isset($board) && preg_match_all('/(^|[\s(])>>(\d+?)((?=[\s,.)?!])|$)/m', $body, $cites, PREG_SET_ORDER | PREG_OFFSET_CAPTURE)) {
+ if (count($cites[0]) > $config['max_cites']) {
+ error($config['error']['toomanycites']);
+ }
+@@ -2133,7 +2133,7 @@ function markup(&$body, $track_cites = false, $op = false) {
+ }
+
+ // Cross-board linking
+- if (preg_match_all('/(^|\s)>>>\/(' . $config['board_regex'] . 'f?)\/(\d+)?((?=[\s,.)?!])|$)/um', $body, $cites, PREG_SET_ORDER | PREG_OFFSET_CAPTURE)) {
++ if (preg_match_all('/(^|[\s(])>>>\/(' . $config['board_regex'] . 'f?)\/(\d+)?((?=[\s,.)?!])|$)/um', $body, $cites, PREG_SET_ORDER | PREG_OFFSET_CAPTURE)) {
+ if (count($cites[0]) > $config['max_cites']) {
+ error($config['error']['toomanycross']);
+ }