diff --git a/math-core/src/latex_parser/parse.rs b/math-core/src/latex_parser/parse.rs
index bbcb07a..18ddeff 100644
--- a/math-core/src/latex_parser/parse.rs
+++ b/math-core/src/latex_parser/parse.rs
@@ -705,7 +705,12 @@ where
} else if matches!(
self.peek.token(),
Token::Relation(_) | Token::Punctuation(_) | Token::Colon
- ) {
+ ) || (prev_state.real_boundaries
+ && matches!(
+ self.peek.token(),
+ Token::Eof | Token::GroupEnd | Token::End | Token::Right
+ ))
+ {
Some(MathSpacing::Zero)
} else {
Some(MathSpacing::FiveMu)
diff --git a/math-core/src/lib.rs b/math-core/src/lib.rs
index 374e518..13b57b6 100644
--- a/math-core/src/lib.rs
+++ b/math-core/src/lib.rs
@@ -461,6 +461,8 @@ mod tests {
("colon_fusion", r"a := 2 \land b :\equiv 3"),
("double_colon", r"a :: b"),
("colon_first_group", r"x{:x}"),
+ ("colon_last_group", r"{x:}x"),
+ ("colon_alone_group", r"x{:}x"),
("colon_approx", r"x:\approx 2"),
("colon_sqrt", r"\sqrt :"),
(
diff --git a/math-core/src/snapshots/math_core__tests__colon_alone_group.snap b/math-core/src/snapshots/math_core__tests__colon_alone_group.snap
new file mode 100644
index 0000000..459634a
--- /dev/null
+++ b/math-core/src/snapshots/math_core__tests__colon_alone_group.snap
@@ -0,0 +1,9 @@
+---
+source: math-core/src/lib.rs
+expression: "x{:}x"
+---
+
diff --git a/math-core/src/snapshots/math_core__tests__colon_last_group.snap b/math-core/src/snapshots/math_core__tests__colon_last_group.snap
new file mode 100644
index 0000000..90ee815
--- /dev/null
+++ b/math-core/src/snapshots/math_core__tests__colon_last_group.snap
@@ -0,0 +1,11 @@
+---
+source: math-core/src/lib.rs
+expression: "{x:}x"
+---
+