diff --git a/tex.el b/tex.el
index 66e22cd..a1b98f3 100644
--- a/tex.el
+++ b/tex.el
@@ -2714,11 +2714,13 @@ type of ARGS:
 	   (goto-char (marker-position exit-mark))
 	   (set-marker exit-mark nil))
 	  ((and TeX-insert-braces
-		;; Do not add braces if the argument is 0 or -1.
-		(not (and (= (safe-length args) 1)
-			  (numberp (car args))
-			  (<= (car args) 0)))
 		(equal position (point))
+		;; Do not add braces if the only argument is 0 or -1 or the last
+		;; argument is optional.
+		(not (or (and (= (safe-length args) 1)
+			      (numberp (car args))
+			      (<= (car args) 0))
+			 (vectorp (car (last args)))))
 		(string-match "[a-zA-Z]+" symbol))
 	   (if (texmathp)
 	       (when (TeX-active-mark)
