diff --git a/src/rules.ts b/src/rules.ts
index c9bc07c5d6..b93e0c52cf 100644
--- a/src/rules.ts
+++ b/src/rules.ts
@@ -475,7 +475,7 @@ const inlineGfm: Record = {
.getRegex(),
_backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,
del: /^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,
- text: edit(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\~code
+before~after
+`strike
+~code ` tick
+deleted code
diff --git a/test/specs/new/codespan_adjacent_tilde.md b/test/specs/new/codespan_adjacent_tilde.md
new file mode 100644
index 0000000000..c7506a61f1
--- /dev/null
+++ b/test/specs/new/codespan_adjacent_tilde.md
@@ -0,0 +1,9 @@
+~`code`
+
+`before`~`after`
+
+`~strike~
+
+~``code ` tick``
+
+~~`deleted code`~~